using System;
|
using System.Collections.Generic;
|
using System.Text;
|
using Shared.SimpleControl.Phone;
|
using Shared;
|
using Shared.SimpleControl.R;
|
using SmartHome.UI.SimpleControl.Pad.Music;
|
namespace Shared.SimpleControl.Pad.Music
|
{
|
/// <summary>
|
///源选择界面
|
/// </summary>
|
class SourcePage : Shared.FrameLayout
|
{
|
/// <summary>
|
/// 显示出当前界面
|
/// </summary>
|
/// <param name="musicModel"></param>
|
public void Show (MusicModel musicModel, FrameLayout SettingView)
|
{
|
//源标题
|
var titleBtn = new Button {
|
Height = Application.GetRealHeight (150),
|
TextID = MyInternationalizationString.MusicSource,
|
TextSize = 15,
|
BackgroundColor = 0xFF111111,
|
TextAlignment = TextAlignment.Center
|
};
|
this.AddChidren (titleBtn);
|
|
//中间滑动栏
|
var frameLayout = new FrameLayout ();
|
frameLayout.Y = Application.GetRealHeight (150);
|
frameLayout.BackgroundImagePath = "MusicIcon/HomepageBackgroun.png";
|
this.AddChidren (frameLayout);
|
var middle = new VerticalScrolViewLayout ();
|
frameLayout.AddChidren (middle);
|
|
var rowSD = new RowLayout {
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (100),
|
};
|
middle.AddChidren (rowSD);
|
|
var SDhoto = new Button {
|
|
Width = Application.GetRealWidth (80),
|
Height = Application.GetRealHeight (76),
|
UnSelectedImagePath = "MusicIcon/card.png",
|
SelectedImagePath = "MusicIcon/cardSelected.png",
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (30),
|
Gravity = Gravity.CenterVertical,
|
};
|
rowSD.AddChidren (SDhoto);
|
//SD卡源图标
|
var musicSD = new Button {
|
Height = Application.GetRealHeight (100),
|
TextID = MyInternationalizationString.SDcard,
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (130),
|
};
|
rowSD.AddChidren (musicSD);
|
//读取SD卡列表
|
var readSDList = new Button {
|
|
Width = Application.GetRealWidth (65),
|
Height = Application.GetRealHeight (76),
|
UnSelectedImagePath = "MusicIcon/Listreading.png",
|
SelectedImagePath = "MusicIcon/ListreadingSelected.png",
|
X = Application.GetRealWidth (365),
|
Gravity = Gravity.CenterVertical,
|
};
|
rowSD.AddChidren (readSDList);
|
//刷新SD卡列表
|
var refreshSDList = new Button {
|
|
Width = Application.GetRealWidth (80),
|
Height = Application.GetRealHeight (76),
|
UnSelectedImagePath = "MusicIcon/refurbish.png",
|
SelectedImagePath = "MusicIcon/refurbishSelected.png",
|
X = Application.GetRealWidth (460),
|
Gravity = Gravity.CenterVertical,
|
};
|
rowSD.AddChidren (refreshSDList);
|
|
refreshSDList.MouseUpEventHandler += (sender, e) => {
|
refreshSDList.IsSelected = true;
|
MainPage.Loading.Start ();
|
System.Threading.Tasks.Task.Run (() => {
|
Control.ControlBytesSend (Command.ControlMusicModel, musicModel.SubnetID, musicModel.DeviceID, MusicModel.MusiceBytes ("*S1UPDATELIST"));
|
System.Threading.Thread.Sleep (4000);
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Hide ();
|
refreshSDList.IsSelected = false;
|
});
|
});
|
};
|
|
var nextSD = new Button {
|
|
Width = Application.GetRealWidth (87),
|
Height = Application.GetRealHeight (100),
|
UnSelectedImagePath = "MusicIcon/Homepagedown.png",
|
SelectedImagePath = "MusicIcon/HomepagedownSelected.png",
|
X = Application.GetRealWidth (550),
|
};
|
rowSD.AddChidren (nextSD);
|
|
var sdContentSD = new VerticalScrolViewLayout {
|
Width = LayoutParams.MatchParent,
|
Height = 0,
|
BackgroundColor = 0x993A3B3B,
|
};
|
|
readSDList.MouseUpEventHandler += (sender, e) => {
|
readSDList.IsSelected = true;
|
MainPage.Loading.Start ();
|
System.Threading.Tasks.Task.Run (() => {
|
readPlayList (musicModel, 1);
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Hide ();
|
readSDList.IsSelected = false;
|
nextSD.IsSelected = true;
|
for (int i = 0; i < musicModel.SDCardListList.Count; i++) {
|
var rowLa = new RowLayout {
|
Height = Application.GetRealHeight (100),
|
};
|
sdContentSD.AddChidren (rowLa);
|
|
var number = new Button {
|
|
Width = LayoutParams.MatchParent,
|
Height = LayoutParams.MatchParent,
|
Text = musicModel.SDCardListList [i].name,
|
};
|
rowLa.AddChidren (number);
|
|
string typeAndListNumber = musicModel.SDCardListList [i].number;
|
|
number.MouseUpEventHandler += (sender1, e1) => {
|
Button button = (Button)sender1;
|
Songlist songlist = new Songlist { };
|
MainPage.MainFrameLayout.AddChidren (songlist);
|
songlist.Show (musicModel.SDCardSongList.FindAll ((song) => { return song.number.StartsWith (typeAndListNumber); }), musicModel, 1, SettingView);
|
};
|
|
var numbernext = new Button {
|
|
Width = Application.GetRealWidth (87),
|
Height = Application.GetRealHeight (100),
|
UnSelectedImagePath = "MusicIcon/Next.png",
|
X = Application.GetRealWidth (550),
|
Tag = musicModel,
|
};
|
rowLa.AddChidren (numbernext);
|
|
////歌曲列表
|
numbernext.MouseDownEventHandler += (sender1, e1) => {
|
Button button = (Button)sender1;
|
Songlist songlist = new Songlist {
|
Width = LayoutParams.MatchParent,
|
Height = LayoutParams.MatchParent,
|
};
|
MainPage.MainFrameLayout.AddChidren (songlist);
|
songlist.Show (musicModel.SDCardSongList.FindAll ((song) => { return song.number.StartsWith (typeAndListNumber); }), musicModel, 1, SettingView);
|
};
|
}
|
sdContentSD.Height = Application.GetRealHeight (musicModel.SDCardListList.Count * 100);
|
});
|
});
|
};
|
|
nextSD.MouseUpEventHandler += (sender, e) => {
|
nextSD.IsSelected = !nextSD.IsSelected;
|
if (nextSD.IsSelected) {
|
for (int i = 0; i < musicModel.SDCardListList.Count; i++) {
|
var rowLa = new RowLayout {
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (100),
|
};
|
sdContentSD.AddChidren (rowLa);
|
|
var number = new Button {
|
|
Width = LayoutParams.MatchParent,
|
Height = LayoutParams.MatchParent,
|
Text = musicModel.SDCardListList [i].name,
|
};
|
rowLa.AddChidren (number);
|
|
string typeAndListNumber = musicModel.SDCardListList [i].number;
|
|
number.MouseDownEventHandler += (sender1, e1) => {
|
Button button = (Button)sender1;
|
Songlist songlist = new Songlist {
|
Width = LayoutParams.MatchParent,
|
Height = LayoutParams.MatchParent,
|
};
|
MainPage.MainFrameLayout.AddChidren (songlist);
|
|
songlist.Show (musicModel.SDCardSongList.FindAll ((song) => { return song.number.StartsWith (typeAndListNumber); }), musicModel, 1, SettingView);
|
};
|
|
var numbernext = new Button {
|
|
Width = Application.GetRealWidth (87),
|
Height = Application.GetRealHeight (100),
|
UnSelectedImagePath = "MusicIcon/Next.png",
|
X = Application.GetRealWidth (550),
|
Tag = musicModel,
|
};
|
rowLa.AddChidren (numbernext);
|
|
//歌曲列表
|
numbernext.MouseDownEventHandler += (sender1, e1) => {
|
Button button = (Button)sender1;
|
Songlist songlist = new Songlist {
|
Width = LayoutParams.MatchParent,
|
Height = LayoutParams.MatchParent,
|
};
|
MainPage.MainFrameLayout.AddChidren (songlist);
|
|
songlist.Show (musicModel.SDCardSongList.FindAll ((song) => { return song.number.StartsWith (typeAndListNumber); }), musicModel, 1, SettingView);
|
|
};
|
}
|
sdContentSD.Height = Application.GetRealHeight (musicModel.SDCardListList.Count * 100);
|
} else {
|
readSDList.IsSelected = false;
|
sdContentSD.Height = 0;
|
}
|
|
};
|
|
middle.AddChidren (sdContentSD);
|
|
var nasrowlayout = new RowLayout {
|
LineColor = 0x62818181,
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (100),
|
};
|
middle.AddChidren (nasrowlayout);
|
|
var nas = new Button {
|
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (100),
|
//Text = "NAS",
|
TextID = MyInternationalizationString.NAS,
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (130),
|
};
|
nasrowlayout.AddChidren (nas);
|
|
var nashoto = new Button {
|
|
Width = Application.GetRealWidth (80),
|
Height = Application.GetRealHeight (76),
|
UnSelectedImagePath = "MusicIcon/nas.png",
|
SelectedImagePath = "MusicIcon/nasSelected.png",
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (30),
|
Gravity = Gravity.CenterVertical,
|
};
|
nasrowlayout.AddChidren (nashoto);
|
|
var readListNAS = new Button {
|
|
Width = Application.GetRealWidth (65),
|
Height = Application.GetRealHeight (76),
|
UnSelectedImagePath = "MusicIcon/Listreading.png",
|
SelectedImagePath = "MusicIcon/ListreadingSelected.png",
|
X = Application.GetRealWidth (365),
|
Gravity = Gravity.CenterVertical,
|
};
|
nasrowlayout.AddChidren (readListNAS);
|
|
var nextnas = new Button {
|
|
Width = Application.GetRealWidth (87),
|
Height = Application.GetRealHeight (100),
|
UnSelectedImagePath = "MusicIcon/Homepagedown.png",
|
SelectedImagePath = "MusicIcon/HomepagedownSelected.png",
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (550),
|
Gravity = Gravity.CenterVertical,
|
};
|
nasrowlayout.AddChidren (nextnas);
|
|
var sdContentNAS = new VerticalScrolViewLayout {
|
Height = 0,
|
BackgroundColor = 0x993A3B3B,
|
};
|
|
readListNAS.MouseUpEventHandler += (sender, e) => {
|
readListNAS.IsSelected = true;
|
MainPage.Loading.Start ();
|
System.Threading.Tasks.Task.Run (() => {
|
readPlayList (musicModel, 2);
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Hide ();
|
readListNAS.IsSelected = false;
|
nextnas.IsSelected = true;
|
for (int i = 0; i < musicModel.NASListList.Count; i++) {
|
|
var NASrowLayout = new RowLayout {
|
Height = Application.GetRealHeight (100),
|
};
|
sdContentNAS.AddChidren (NASrowLayout);
|
|
var listNSA = new Button {
|
|
Width = LayoutParams.MatchParent,
|
Height = LayoutParams.MatchParent,
|
X = Application.GetRealWidth (30),
|
Text = musicModel.NASListList [i].name,
|
};
|
NASrowLayout.AddChidren (listNSA);
|
|
string ListNumberNas = musicModel.NASListList [i].number;
|
|
listNSA.MouseUpEventHandler += (sender1, e1) => {
|
Songlist NASmusic = new Songlist {
|
Width = LayoutParams.MatchParent,
|
Height = LayoutParams.MatchParent,
|
};
|
MainPage.MainFrameLayout.AddChidren (NASmusic);
|
|
NASmusic.Show (musicModel.NasSongList.FindAll ((music) => { return music.number.StartsWith (ListNumberNas); }), musicModel, 2, SettingView);
|
};
|
|
var numbernext = new Button {
|
|
Width = Application.GetRealWidth (87),
|
Height = Application.GetRealHeight (100),
|
UnSelectedImagePath = "MusicIcon/Next.png",
|
X = Application.GetRealWidth (550),
|
Tag = musicModel,
|
};
|
NASrowLayout.AddChidren (numbernext);
|
|
////歌曲列表
|
numbernext.MouseDownEventHandler += (sender1, e1) => {
|
|
Button button = (Button)sender1;
|
Songlist Nassonglist = new Songlist {
|
Width = LayoutParams.MatchParent,
|
Height = LayoutParams.MatchParent,
|
};
|
MainPage.MainFrameLayout.AddChidren (Nassonglist);
|
|
Nassonglist.Show (musicModel.NasSongList.FindAll ((song) => { return song.number.StartsWith (ListNumberNas); }), musicModel, 2, SettingView);
|
|
};
|
}
|
sdContentNAS.Height = Application.GetRealHeight (musicModel.NASListList.Count * 100);
|
|
});
|
|
});
|
|
|
};
|
|
nextnas.MouseUpEventHandler += (sender, e) => {
|
nextnas.IsSelected = !nextnas.IsSelected;
|
|
if (nextnas.IsSelected) {
|
for (int i = 0; i < musicModel.NASListList.Count; i++) {
|
var rowLa = new RowLayout {
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (100),
|
};
|
sdContentNAS.AddChidren (rowLa);
|
|
var number = new Button {
|
|
Width = LayoutParams.MatchParent,
|
Height = LayoutParams.MatchParent,
|
Text = musicModel.NASListList [i].name,
|
};
|
rowLa.AddChidren (number);
|
|
string typeAndListNumber = musicModel.NASListList [i].number;
|
|
number.MouseDownEventHandler += (sender1, e1) => {
|
Button button = (Button)sender1;
|
Songlist songlist = new Songlist {
|
Width = LayoutParams.MatchParent,
|
Height = LayoutParams.MatchParent,
|
};
|
MainPage.MainFrameLayout.AddChidren (songlist);
|
|
songlist.Show (musicModel.NasSongList.FindAll ((song) => { return song.number.StartsWith (typeAndListNumber); }), musicModel, 2, SettingView);
|
};
|
|
var numbernext = new Button {
|
|
Width = Application.GetRealWidth (87),
|
Height = Application.GetRealHeight (100),
|
UnSelectedImagePath = "MusicIcon/Next.png",
|
X = Application.GetRealWidth (550),
|
Tag = musicModel,
|
};
|
rowLa.AddChidren (numbernext);
|
|
//歌曲列表
|
numbernext.MouseDownEventHandler += (sender1, e1) => {
|
Button button = (Button)sender1;
|
Songlist songlist = new Songlist {
|
Width = LayoutParams.MatchParent,
|
Height = LayoutParams.MatchParent,
|
};
|
MainPage.MainFrameLayout.AddChidren (songlist);
|
|
songlist.Show (musicModel.NasSongList.FindAll ((song) => { return song.number.StartsWith (typeAndListNumber); }), musicModel, 2, SettingView);
|
|
};
|
}
|
sdContentNAS.Height = Application.GetRealHeight (musicModel.NASListList.Count * 100);
|
} else {
|
readListNAS.UnSelectedImagePath = "MusicIcon/Listreading.png";
|
sdContentNAS.Height = 0;
|
}
|
|
};
|
|
middle.AddChidren (sdContentNAS);
|
|
var refurbishNAS = new Button {
|
|
Width = Application.GetRealWidth (80),
|
Height = Application.GetRealHeight (76),
|
UnSelectedImagePath = "MusicIcon/refurbish.png",
|
SelectedImagePath = "MusicIcon/refurbishSelected.png",
|
X = Application.GetRealWidth (460),
|
Gravity = Gravity.CenterVertical,
|
};
|
nasrowlayout.AddChidren (refurbishNAS);
|
|
refurbishNAS.MouseUpEventHandler += (sender, e) => {
|
refurbishNAS.IsSelected = true;
|
MainPage.Loading.Start ();
|
System.Threading.Tasks.Task.Run (() => {
|
Control.ControlBytesSend (Command.ControlMusicModel, musicModel.SubnetID, musicModel.DeviceID, MusicModel.MusiceBytes ("*S2UPDATELIST"));
|
System.Threading.Thread.Sleep (4000);
|
Application.RunOnMainThread (() => {
|
MainPage.Loading.Hide ();
|
refurbishNAS.IsSelected = false;
|
});
|
});
|
};
|
|
//蓝牙
|
var bluetoothrowlayout = new RowLayout {
|
LineColor = 0x62818181,
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (100),
|
};
|
middle.AddChidren (bluetoothrowlayout);
|
|
var bluetoothhoto = new Button {
|
|
Width = Application.GetRealWidth (80),
|
Height = Application.GetRealHeight (76),
|
UnSelectedImagePath = "MusicIcon/bluetooth.png",
|
SelectedImagePath = "MusicIcon/bluetoothselected.png",
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (30),
|
Gravity = Gravity.CenterVertical,
|
};
|
bluetoothrowlayout.AddChidren (bluetoothhoto);
|
|
var bluetooth = new Button {
|
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (100),
|
TextID = MyInternationalizationString.Musicbluetooth,
|
TextSize = 15,
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (130),
|
};
|
bluetoothrowlayout.AddChidren (bluetooth);
|
|
var nextbluetooth = new Button {
|
|
Width = Application.GetRealWidth (87),
|
Height = Application.GetRealHeight (100),
|
UnSelectedImagePath = "MusicIcon/Next.png",
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (550),
|
Gravity = Gravity.CenterVertical,
|
};
|
bluetoothrowlayout.AddChidren (nextbluetooth);
|
|
bluetooth.MouseUpEventHandler += (sender, e) => {
|
//先移除当前控件的前面那个控件
|
this.Parent.RemoveAt (this.Parent.ChildrenCount - 2);
|
//当前控件界面
|
this.RemoveFromParent ();
|
|
PlayPage playPage = new PlayPage { };
|
MainPage.MainFrameLayout.AddChidren (playPage);
|
playPage.Show (musicModel, new List<KeyAndValue> (), SettingView);
|
playPage.SourceId = 8;
|
};
|
|
nextbluetooth.MouseUpEventHandler += (sender, e) => {
|
//先移除当前控件的前面那个控件
|
this.Parent.RemoveAt (this.Parent.ChildrenCount - 2);
|
//当前控件界面
|
this.RemoveFromParent ();
|
|
PlayPage playPage = new PlayPage { };
|
MainPage.MainFrameLayout.AddChidren (playPage);
|
playPage.Show (musicModel, new List<KeyAndValue> (), SettingView);
|
playPage.SourceId = 8;
|
};
|
|
|
//FM收音机
|
var FMowlayout = new RowLayout {
|
LineColor = 0x62818181,
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (100),
|
};
|
middle.AddChidren (FMowlayout);
|
|
var FM = new Button {
|
|
Width = Application.GetRealWidth (80),
|
Height = Application.GetRealHeight (76),
|
UnSelectedImagePath = "MusicIcon/FM.png",
|
SelectedImagePath = "MusicIcon/FMselected.png",
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (30),
|
Gravity = Gravity.CenterVertical,
|
};
|
FMowlayout.AddChidren (FM);
|
|
var FMtooth = new Button {
|
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (100),
|
//Text="收音机",
|
TextID = MyInternationalizationString.MusicFM,
|
TextSize = 15,
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (130),
|
};
|
FMowlayout.AddChidren (FMtooth);
|
|
FMtooth.MouseUpEventHandler += (sender, e) => {
|
//先移除当前控件的前面那个控件
|
this.Parent.RemoveAt (this.Parent.ChildrenCount - 2);
|
//当前控件界面
|
this.RemoveFromParent ();
|
|
Control.ControlBytesSend (Command.ControlMusicModel, musicModel.SubnetID, musicModel.DeviceID,
|
MusicModel.MusiceBytes ("*Z1SRC5"));
|
|
RadioPage playMusicRadio = new RadioPage {
|
Width = LayoutParams.MatchParent,
|
Height = LayoutParams.MatchParent,
|
};
|
MainPage.MainFrameLayout.AddChidren (playMusicRadio);
|
playMusicRadio.Show (musicModel, SettingView);
|
};
|
|
var nextFM = new Button {
|
|
Width = Application.GetRealWidth (87),
|
Height = Application.GetRealHeight (100),
|
UnSelectedImagePath = "MusicIcon/Next.png",
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (550),
|
Gravity = Gravity.CenterVertical,
|
};
|
FMowlayout.AddChidren (nextFM);
|
|
nextFM.MouseUpEventHandler += (sender, e) => {
|
//先移除当前控件的前面那个控件
|
this.Parent.RemoveAt (this.Parent.ChildrenCount - 2);
|
//当前控件界面
|
this.RemoveFromParent ();
|
|
Control.ControlBytesSend (Command.ControlMusicModel, musicModel.SubnetID, musicModel.DeviceID,
|
MusicModel.MusiceBytes ("*Z1SRC5"));
|
|
RadioPage playMusicRadio = new RadioPage {
|
Width = LayoutParams.MatchParent,
|
Height = LayoutParams.MatchParent,
|
};
|
MainPage.MainFrameLayout.AddChidren (playMusicRadio);
|
playMusicRadio.Show (musicModel, SettingView);
|
};
|
|
|
var CDrowlayout = new RowLayout {
|
LineColor = 0x62818181,
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (100),
|
};
|
middle.AddChidren (CDrowlayout);
|
|
var CDhoto = new Button {
|
|
Width = Application.GetRealWidth (80),
|
Height = Application.GetRealHeight (76),
|
UnSelectedImagePath = "MusicIcon/CD.png",
|
SelectedImagePath = "MusicIcon/CDSelected.png",
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (30),
|
Gravity = Gravity.CenterVertical,
|
};
|
CDrowlayout.AddChidren (CDhoto);
|
|
var CD = new Button {
|
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (100),
|
//Text = "CD",
|
TextID = MyInternationalizationString.MusicCD,
|
TextSize = 15,
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (130),
|
};
|
CDrowlayout.AddChidren (CD);
|
|
var nextCD = new Button {
|
|
Width = Application.GetRealWidth (87),
|
Height = Application.GetRealHeight (100),
|
UnSelectedImagePath = "MusicIcon/Next.png",
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (550),
|
Gravity = Gravity.CenterVertical,
|
};
|
CDrowlayout.AddChidren (nextCD);
|
|
nextCD.MouseUpEventHandler += (sedner, e) => {
|
//先移除当前控件的前面那个控件
|
this.Parent.RemoveAt (this.Parent.ChildrenCount - 2);
|
//当前控件界面
|
this.RemoveFromParent ();
|
|
PlayPage playMusicCD = new PlayPage { };
|
MainPage.MainFrameLayout.AddChidren (playMusicCD);
|
playMusicCD.Show (musicModel, new List<KeyAndValue> (), SettingView);
|
playMusicCD.SourceId = 6;
|
};
|
|
CD.MouseUpEventHandler += (semder, e) => {
|
//先移除当前控件的前面那个控件
|
this.Parent.RemoveAt (this.Parent.ChildrenCount - 2);
|
//当前控件界面
|
this.RemoveFromParent ();
|
|
PlayPage playPage = new PlayPage { };
|
MainPage.MainFrameLayout.AddChidren (playPage);
|
playPage.Show (musicModel, new List<KeyAndValue> (), SettingView);
|
playPage.SourceId = 6;
|
};
|
//FD光纤
|
var FDrowlayout = new RowLayout {
|
LineColor = 0x62818181,
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (100),
|
};
|
middle.AddChidren (FDrowlayout);
|
|
var FDhoto = new Button {
|
|
Width = Application.GetRealWidth (80),
|
Height = Application.GetRealHeight (76),
|
UnSelectedImagePath = "MusicIcon/FD.png",
|
SelectedImagePath = "MusicIcon/FDSelected.png",
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (30),
|
Gravity = Gravity.CenterVertical,
|
};
|
FDrowlayout.AddChidren (FDhoto);
|
|
var FD = new Button {
|
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (100),
|
//Text = "FD",
|
TextID = MyInternationalizationString.MusicFD,
|
TextSize = 15,
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (130),
|
};
|
FDrowlayout.AddChidren (FD);
|
|
FD.MouseUpEventHandler += (sender, e) => {
|
|
//先移除当前控件的前面那个控件
|
this.Parent.RemoveAt (this.Parent.ChildrenCount - 2);
|
//当前控件界面
|
this.RemoveFromParent ();
|
|
PlayPage playPage = new PlayPage { };
|
MainPage.MainFrameLayout.AddChidren (playPage);
|
playPage.Show (musicModel, new List<KeyAndValue> (), SettingView);
|
playPage.SourceId = 9;
|
};
|
|
var nextFD = new Button {
|
|
Width = Application.GetRealWidth (87),
|
Height = Application.GetRealHeight (100),
|
UnSelectedImagePath = "MusicIcon/Next.png",
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (550),
|
Gravity = Gravity.CenterVertical,
|
};
|
FDrowlayout.AddChidren (nextFD);
|
|
nextFD.MouseUpEventHandler += (sender, e) => {
|
|
//先移除当前控件的前面那个控件
|
this.Parent.RemoveAt (this.Parent.ChildrenCount - 2);
|
//当前控件界面
|
this.RemoveFromParent ();
|
|
PlayPage playPage = new PlayPage { };
|
MainPage.MainFrameLayout.AddChidren (playPage);
|
playPage.Show (musicModel, new List<KeyAndValue> (), SettingView);
|
playPage.SourceId = 9;
|
};
|
|
//我的最爱
|
var rowList = new RowLayout {
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (100),
|
};
|
//middle.AddChidren(rowList);
|
|
var likehoto = new Button {
|
|
Width = Application.GetRealWidth (105),
|
Height = Application.GetRealHeight (113),
|
UnSelectedImagePath = "MusicIcon/like.png",
|
SelectedImagePath = "MusicIcon/likeSelected.png",
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (20),
|
Gravity = Gravity.CenterVertical,
|
};
|
rowList.AddChidren (likehoto);
|
|
var likedList = new Button {
|
|
Width = LayoutParams.MatchParent,
|
Height = Application.GetRealHeight (100),
|
TextID = MyInternationalizationString.Musiclike,
|
TextAlignment = TextAlignment.CenterLeft,
|
X = Application.GetRealWidth (130),
|
};
|
rowList.AddChidren (likedList);
|
likedList.MouseDownEventHandler += (sender, e) => {
|
|
LikeList likeList = new LikeList { };
|
MainPage.MainFrameLayout.AddChidren (likeList);
|
likeList.Show (musicModel, SettingView);
|
|
};
|
|
var nextlike = new Button {
|
|
Width = Application.GetRealWidth (87),
|
Height = Application.GetRealHeight (100),
|
UnSelectedImagePath = "MusicIcon/Next.png",
|
X = Application.GetRealWidth (550),
|
};
|
rowList.AddChidren (nextlike);
|
|
nextlike.MouseDownEventHandler += (sender, e) => {
|
LikeList likeList = new LikeList { };
|
MainPage.MainFrameLayout.AddChidren (likeList);
|
likeList.Show (musicModel, SettingView);
|
};
|
|
}
|
|
/// <summary>
|
/// 读取列表
|
/// </summary>
|
/// <param name="musicModel">音乐对象</param>
|
/// <param name="sourceID">源号</param>
|
void readPlayList (MusicModel musicModel, int sourceID)
|
{
|
List<KeyAndValue> listMusicTypeName = new List<KeyAndValue> ();
|
List<KeyAndValue> listMusicListName = new List<KeyAndValue> ();
|
List<KeyAndValue> listMusicSongName = new List<KeyAndValue> ();
|
|
#region 读取类型
|
|
//int typeNum = 0;
|
////读取类型
|
//while (true)
|
//{
|
// typeNum++;
|
// string typeNumStr = "";
|
// if (typeNum < 10)
|
// {
|
// typeNumStr = "00" + typeNum.ToString();
|
// }
|
// else if (typeNum < 100)
|
// {
|
// typeNumStr = "0" + typeNum.ToString();
|
// }
|
// else
|
// {
|
// typeNumStr = typeNumStr.ToString();
|
// }
|
|
// byte[] bytes = Control.ControlBytesSendHasReturn(Command.ControlMusicModel2, musicModel.SubnetID, musicModel.DeviceID, MusicModel.MusiceBytes("*Z011TYPE" + typeNumStr + "1"));
|
|
// if (bytes == null)
|
// {
|
// return;
|
// }
|
|
// int count = 0;
|
// for (int i = 15; i < bytes.Length - 1;)
|
// {
|
// if (bytes[i] == 0x00 && bytes[i + 1] == 0x03)
|
// {
|
// //如果读取到结束符的时候,就退出
|
// break;
|
// }
|
// count += 2;
|
// //unicode码顺序要对换,要不有乱码
|
// byte b = bytes[i];
|
// bytes[i] = bytes[i + 1];
|
// bytes[i + 1] = b;
|
// //每个字符有两个byte
|
// i += 2;
|
// }
|
// //反馈回来的类型名
|
// string content = System.Text.Encoding.Unicode.GetString(bytes, 15, count);
|
|
// if (null == listMusicTypeName.Find((kv) => { return kv.number == typeNumStr; }))
|
// {
|
// listMusicTypeName.Add(new KeyAndValue { number = typeNumStr, name = content });
|
// }
|
// if (bytes[12] == (byte)'1')
|
// {
|
// //已经读取完成,退出读取音乐类型
|
// break;
|
// }
|
//}
|
#endregion
|
|
listMusicTypeName.Add (new KeyAndValue { number = "001", name = "Default" });
|
|
#region 读取列表
|
//读取列表
|
for (int i = 0; i < listMusicTypeName.Count; i++) {
|
string typeNumberString = listMusicTypeName [i].number;
|
int listCount = 0;
|
while (true) {
|
listCount++;
|
string listNumberStr = "";
|
|
if (listCount < 10) {
|
listNumberStr = "00" + listCount;
|
} else if (listCount < 100) {
|
listNumberStr = "0" + listCount;
|
} else {
|
listNumberStr = listCount.ToString ();
|
}
|
|
byte [] bytes = Control.ControlBytesSendHasReturn (Command.ControlMusicModel2, musicModel.SubnetID, musicModel.DeviceID, MusicModel.MusiceBytes ("*Z01" + sourceID + "LIST" + typeNumberString + listNumberStr + "1"));
|
|
if (bytes == null) {
|
//当前可能是丢包,读取下一条
|
break;
|
}
|
int count = 0;
|
for (int j = 15 + 3; j < bytes.Length - 1;) {
|
if (bytes [j] == 0x00 && bytes [j + 1] == 0x03) {
|
//如果读取到结束符的时候,就退出
|
break;
|
}
|
|
count += 2;
|
//unicode码顺序要对换,要不有乱码
|
byte b = bytes [j];
|
bytes [j] = bytes [j + 1];
|
bytes [j + 1] = b;
|
//每个字符有两个byte
|
j += 2;
|
|
}
|
//反馈回来的类型名
|
string content = System.Text.Encoding.Unicode.GetString (bytes, 15 + 3, count);
|
|
if (null == listMusicListName.Find ((kv) => { return kv.number == typeNumberString + listNumberStr; })) {
|
listMusicListName.Add (new KeyAndValue { number = typeNumberString + listNumberStr, name = content });
|
}
|
if (bytes [12 + 3] == (byte)'1') {
|
//已经读取完成,退出读取音乐类型
|
break;
|
}
|
}
|
}
|
|
#endregion
|
|
#region 读取音乐
|
|
//读取音乐
|
for (int i = 0; i < listMusicListName.Count; i++) {
|
string listNumberString = listMusicListName [i].number;
|
|
int songCount = 0;
|
|
while (true) {
|
songCount++;
|
|
string songNumberStr = "";
|
|
if (songCount < 10) {
|
songNumberStr = "00" + songCount;
|
} else if (songCount < 100) {
|
songNumberStr = "0" + songCount;
|
} else {
|
songNumberStr = songCount.ToString ();
|
}
|
|
byte [] bytes = Control.ControlBytesSendHasReturn (Command.ControlMusicModel2, musicModel.SubnetID, musicModel.DeviceID, MusicModel.MusiceBytes ("*Z01" + sourceID + "SONG" + listNumberString + songNumberStr + "1"));
|
|
if (bytes == null) {
|
//当前可能是丢包,读取下一条
|
break;
|
}
|
|
int count = 0;
|
for (int j = 15 + 3 + 3; j < bytes.Length - 1;) {
|
|
if (bytes [j] == 0x00 && bytes [j + 1] == 0x03) {
|
break;
|
}
|
count += 2;
|
|
byte b = bytes [j];
|
bytes [j] = bytes [j + 1];
|
bytes [j + 1] = b;
|
|
j += 2;
|
|
}
|
//反馈回来的类型名
|
|
string content = System.Text.Encoding.Unicode.GetString (bytes, 15 + 3 + 3, count);
|
|
if (null == listMusicSongName.Find ((kv) => { return kv.number == listNumberString + songNumberStr; })) {
|
listMusicSongName.Add (new KeyAndValue { number = listNumberString + songNumberStr, name = content });
|
|
if (bytes [12 + 3 + 3] == (byte)'1') {
|
//已经读取完成,退出读取音乐类型
|
break;
|
}
|
|
}
|
}
|
|
}
|
#endregion
|
|
if (sourceID == 1) {
|
//SD卡播放列表
|
musicModel.SDCardTypeList = listMusicTypeName;
|
musicModel.SDCardListList = listMusicListName;
|
musicModel.SDCardSongList = listMusicSongName;
|
} else {
|
//Nas播放列表
|
musicModel.NASTypeList = listMusicTypeName;
|
musicModel.NASListList = listMusicListName;
|
musicModel.NasSongList = listMusicSongName;
|
}
|
|
//读取列表完成,重新保存起来
|
string saveRoomUIName = "Room_" + Room.CurrentRoom.Name;
|
Shared.IO.FileUtils.WriteFileByBytes (saveRoomUIName,
|
Shared.SimpleControl.CommonPage.MyEncodingUTF8.GetBytes (Newtonsoft.Json.JsonConvert.SerializeObject (Room.CurrentRoom)));
|
}
|
}
|
}
|