From 52c945d6f5628e7fac328a5df8bc295ccfc5966b Mon Sep 17 00:00:00 2001 From: wjc <1243177876@qq.com> Date: 星期一, 10 一月 2022 20:53:54 +0800 Subject: [PATCH] 2021-1-10-01 --- HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs | 280 ++++++++++++++++++++++++++++++++++--------------------- 1 files changed, 174 insertions(+), 106 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs index 5ef69f3..e1d37c4 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs @@ -4,20 +4,31 @@ using Shared.IO; using System.Net; using HDL_ON.Entity; +using HDL_ON.UI.UI2.FuntionControlView.Music; namespace HDL_ON.UI.Music { public class MusicMain : FrameLayout { + private static MusicMain m_MusicMain = null; + public static MusicMain mMusicMain + { + get + { + if (m_MusicMain == null) + { + m_MusicMain = new MusicMain(); + } + return m_MusicMain; + } + } /// <summary> /// MusicMain瀵硅薄鏋勯�犲嚱鏁� /// </summary> public MusicMain() { Tag = "MusicMain"; - //杩涙潵闊充箰鍒楄〃鐣岄潰鍏堢Щ闄や箣鍓嶇嚎绋�; - A31MusicModel.RemoveListThread(); } /// <summary> /// 閲嶅啓RemoveFromParent鏂规硶 @@ -26,7 +37,8 @@ { base.RemoveFromParent(); clearA31Threads(); - A31MusicModel.ReadMusicStates();//杩涙潵娌℃湁闊充箰琚敹钘忚繃锛岄��鍑烘湁闊充箰琚敹钘忚繃 + //杩涙潵娌℃湁闊充箰琚敹钘忚繃锛岄��鍑烘湁闊充箰琚敹钘忚繃 + //A31MusicModel.ReadMusicStates(); } /// <summary> /// 鍒涘缓绾跨▼鍒楄〃 @@ -83,6 +95,7 @@ { Y = topView.fLayout.Bottom, Height = Application.GetRealHeight(H_W.H - H_W.T_Height), + Name = "verticalRefresh", }; this.AddChidren(verticalRefresh); #endregion @@ -107,7 +120,7 @@ { verticalRefresh.RemoveAll(); - var musicListFunction = SendMethod.sendMethod.GetMusicList; + var musicListFunction = SendMethod.mMethod.GetMusicList; for (int i = 0; i < musicListFunction.Count; i++) { var function = musicListFunction[i]; @@ -122,11 +135,41 @@ } } - for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++) { + var a31player = A31MusicModel.A31MusicModelList[i]; - MusicListView(a31player); + if (a31player.functionMusic.online == false) + { + //涓嶅湪绾夸笉鏄剧ず + continue; + } + Application.RunOnMainThread(() => + { + MusicListView(a31player); + }); + } + ///杩涙潵璇讳竴娆¢煶涔愭挱鏀惧櫒鐘舵�� + for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++) + { + + var a31player = A31MusicModel.A31MusicModelList[i]; + if (a31player.functionMusic.online == false) + { + //涓嶅湪绾夸笉璇诲彇 + continue; + } + //鍙戦�佽鍙栭煶涔愭挱鏀惧櫒鐘舵�佺嚎绋� + System.Threading.Tasks.Task.Run(() => + { + try + { + SendMethod.mMethod.RefreshDeviceStatus(new List<string> { a31player.functionMusic.deviceId }); + System.Threading.Thread.Sleep(500); + } + catch { } + + }); } }); @@ -135,17 +178,15 @@ /// <summary> /// 鏄剧ず闊充箰鍒楄〃鐨勬柟娉� /// </summary> - void MusicListView(A31MusicModel player) + void MusicListView(A31MusicModel player) { - musicView.View(verticalRefresh); - musicView.singerBtn.Text = player.functionMusic.GetAttrState("song_name"); - musicView.songNameBtn.Text = player.functionMusic.GetAttrState("song_name"); + musicView.ViewAddChidren(verticalRefresh); + musicView.muiscFl.Tag = player.functionMusic;//澶氫釜闊充箰鎾斁鍣ㄦ洿鏂扮姸鎬佽鐢ㄥ埌 + musicView.singerBtn.Text = player.functionMusic.GetAttrState(KeyProperty.song_name); + musicView.songNameBtn.Text = player.functionMusic.GetAttrState(KeyProperty.song_name); musicView.musicNameBtn.Text = player.functionMusic.name; - //if (player.IsEnd) - //{ - // musicView.muiscFl.Height = Application.GetRealHeight(12 + 139 + 12); - //} + ///鏀惰棌浜嬩欢 musicView.collectIconBtn.MouseUpEventHandler += (sender, e) => { musicView.collectIconBtn.IsSelected = !musicView.collectIconBtn.IsSelected; @@ -159,21 +200,8 @@ } }; - EventHandler<MouseEventArgs> clickMergence = (sender, e) => - { - //if (player.ServerClientType == 0) - //{ - // new View.DialogView { }.PlayMergence(player); - //} - //else if (player.ServerClientType == 1) - //{ - // new View.DialogView { }.DetachPlayMergence(player); - //} - }; - musicView.mergeBjBtn.MouseUpEventHandler += clickMergence; - musicView.mergeBtn.MouseUpEventHandler += clickMergence; - musicView.mergeIconBtn.MouseUpEventHandler += clickMergence; + ///杩涘叆闊充箰涓婚〉浜嬩欢 EventHandler<MouseEventArgs> clickPlayView = (sender, e) => { @@ -194,10 +222,10 @@ musicView.prevBtn.MouseDownEventHandler += (sender, e) => { musicView.prevBtn.IsSelected = true; - player.functionMusic.SetAttrState("song_step", "up"); + player.functionMusic.SetAttrState(KeyProperty.song_step, ValueProperty.up); Dictionary<string, string> dic = new Dictionary<string, string>(); - dic.Add("song_step", "up"); - SendMethod.sendMethod.SendControlCommand(player.functionMusic, dic); + dic.Add(KeyProperty.song_step, ValueProperty.up); + SendMethod.mMethod.SendControlCommand(player.functionMusic, dic); }; musicView.prevBtn.MouseUpEventHandler += (sender, e) => { @@ -206,55 +234,54 @@ ///鏆傚仠/鎾斁鐐瑰嚮浜嬩欢 musicView.playBtn.MouseDownEventHandler += (sender, e) => { - string status = "off"; + string status = ValueProperty.off; if (musicView.playBtn.IsSelected) { musicView.playBtn.IsSelected = false; - status = "off"; + status = ValueProperty.off; } else { musicView.playBtn.IsSelected = true; - status = "on"; + status = ValueProperty.on; } - player.functionMusic.SetAttrState("on_off", status); + player.functionMusic.SetAttrState(KeyProperty.on_off, status); Dictionary<string, string> dic = new Dictionary<string, string>(); - dic.Add("on_off", status); - SendMethod.sendMethod.SendControlCommand(player.functionMusic, dic); + dic.Add(KeyProperty.on_off, status); + SendMethod.mMethod.SendControlCommand(player.functionMusic, dic); }; ///涓嬩竴鏇茬偣鍑讳簨浠� musicView.nextBtn.MouseDownEventHandler += (sender, e) => { musicView.nextBtn.IsSelected = true; - player.functionMusic.SetAttrState("song_step", "down"); + player.functionMusic.SetAttrState(KeyProperty.song_step, ValueProperty.down); Dictionary<string, string> dic = new Dictionary<string, string>(); - dic.Add("song_step", "down"); - SendMethod.sendMethod.SendControlCommand(player.functionMusic, dic); + dic.Add(KeyProperty.song_step, ValueProperty.down); + SendMethod.mMethod.SendControlCommand(player.functionMusic, dic); }; musicView.nextBtn.MouseUpEventHandler += (sender, e) => { musicView.nextBtn.IsSelected = false; }; - + //鏇存柊鐘舵�佺嚎绋� var musicThread = new System.Threading.Thread(() => { while (true) { - System.Threading.Thread.Sleep(1000); if (!player.functionMusic.online) { ///涓嶅湪绾夸笉璇荤姸鎬� continue; } //SendMethod.ReadStatus(player); - SendMethod.sendMethod.RefreshDeviceStatus(player.functionMusic,new List<string> { player.functionMusic.deviceId }); - + SendMethod.mMethod.GetDeviceStatus(ref player, new List<string> { player.functionMusic.deviceId }, player.functionMusic.sid); + System.Threading.Thread.Sleep(1000); Application.RunOnMainThread(() => { - musicView.singerBtn.Text = player.functionMusic.GetAttrState("song_name"); - musicView.songNameBtn.Text = player.functionMusic.GetAttrState("song_name"); + musicView.singerBtn.Text = player.functionMusic.GetAttrState(KeyProperty.song_name); + musicView.songNameBtn.Text = player.functionMusic.GetAttrState(KeyProperty.song_name); musicView.musicNameBtn.Text = player.functionMusic.name; - if (player.A31PlayStatus.status == "play") + if (player.functionMusic.GetAttrState(KeyProperty.on_off) == ValueProperty.on) { musicView.playBtn.IsSelected = true; } @@ -263,27 +290,14 @@ musicView.playBtn.IsSelected = false; } musicView.regionBtn.Text = player.functionMusic.GetRoomListName(); - if (player.ServerClientType == 1) + + if (player.functionMusic.collect) { - if (player.MainPlayCollection) - { - musicView.collectIconBtn.IsSelected = true; - } - else - { - musicView.collectIconBtn.IsSelected = false; - } + musicView.collectIconBtn.IsSelected = true; } else { - if (player.functionMusic.collect) - { - musicView.collectIconBtn.IsSelected = true; - } - else - { - musicView.collectIconBtn.IsSelected = false; - } + musicView.collectIconBtn.IsSelected = false; } }); } @@ -297,58 +311,112 @@ ///鎸囧畾鍒锋柊鐣岄潰 /// </summary> /// <param name="strView">鍒ゆ柇瀛楃</param> - public void RefreshView(string strView) + public void RefreshView(AlinkStatusData alinkStatusData) { + if (alinkStatusData == null || alinkStatusData.status.Count == 0) + { + return; + } Application.RunOnMainThread(() => { try { - - for (int i = MainPage.BasePageView.ChildrenCount - 1; 0 <= i; i--) + for (int a =0; a < MainPage.BasePageView.ChildrenCount; a++) { - var view = MainPage.BasePageView.GetChildren(i); - if (strView == view.Tag.ToString()) + var view = MainPage.BasePageView.GetChildren(a); + if (view.GetType() == typeof(MusicMain)) { - if (view.GetType() == typeof(MusicMain)) + var musicMain = view as MusicMain; + if (musicMain != null) { - //musicView.singerBtn.Text = player.A31PlayStatus.Artist; - //musicView.songNameBtn.Text = player.A31PlayStatus.Title; - //musicView.musicNameBtn.Text = new View.DialogView { }.NamePlayer(player); - //if (player.A31PlayStatus.status == "play") - //{ - // musicView.playBtn.IsSelected = true; - //} - //else - //{ - // musicView.playBtn.IsSelected = false; - //} - //musicView.regionBtn.Text = player.GetRoomListName(); - //if (player.ServerClientType == 1) - //{ - // if (player.MainPlayCollection) - // { - // musicView.collectIconBtn.IsSelected = true; - // } - // else - // { - // musicView.collectIconBtn.IsSelected = false; - // } - //} - //else - //{ - // if (player.collect) - // { - // musicView.collectIconBtn.IsSelected = true; - // } - // else - // { - // musicView.collectIconBtn.IsSelected = false; - // } - //} - } - } + for (int b = 0; b < musicMain.ChildrenCount; b++) + { + var view1 = musicMain.GetChildren(b); + if (view1.GetType() == typeof(VerticalRefreshLayout)) + { + var vv = view1 as VerticalRefreshLayout; + if (vv != null && vv.Name == "verticalRefresh") + { + for (int c = 0; c < vv.ChildrenCount; c++) + { + var viewfl = vv.GetChildren(c); + if (viewfl.GetType() == typeof(FrameLayout)) + { + var fl = viewfl as FrameLayout; + if ((fl.Tag as Function).sid!= alinkStatusData.sid) { + //涓嶆槸褰撳墠闊充箰涓嶄細鏇存柊鐘舵�� + continue; + } + if (fl != null && fl.Name == "parentfl") + { + for (int i = 0; i < fl.ChildrenCount; i++) + { + var viewfl1 = fl.GetChildren(i); + if (viewfl1.GetType() == typeof(FrameLayout)) + { + var fl1 = viewfl1 as FrameLayout; + if (fl1 != null && fl1.Name == "musicparentfl") + { + for (int j = 0; j < fl1.ChildrenCount; j++) + { + if (fl1.GetChildren(j).GetType() == typeof(Button)) + { + var btn = fl1.GetChildren(j) as Button; + if (btn == null ||btn.Name==null) + { + continue; + } + switch (btn.Name) + { + case "song": + { + var s = alinkStatusData.status.Find((o) => o.key == KeyProperty.song_name); + if (s != null) + { + btn.Text = s.value; + } + } + break; + case "playstatus": + { + + var s = alinkStatusData.status.Find((o) => o.key == KeyProperty.on_off); + if (s != null) + { + if (s.value == ValueProperty.on) + { + btn.IsSelected = true; + } + else + { + btn.IsSelected = false; + } + } + } + break; + } + + } + } + } + } + + } + } + } + + } + } + + } + + } + } + + } } + } catch { } }); -- Gitblit v1.8.0