From 7167334c0e89dd84827d59e726123d14776e3a09 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期二, 16 六月 2020 11:14:13 +0800 Subject: [PATCH] 2020-06-16-1 --- HDL_ON/UI/Music/MusicMain.cs | 189 ++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 155 insertions(+), 34 deletions(-) diff --git a/HDL_ON/UI/Music/MusicMain.cs b/HDL_ON/UI/Music/MusicMain.cs index 830a4b4..fd99774 100644 --- a/HDL_ON/UI/Music/MusicMain.cs +++ b/HDL_ON/UI/Music/MusicMain.cs @@ -12,6 +12,10 @@ //public MusicListViewMain() { // Frame = this; //} + public MusicMain() + { + Tag = "MusicMain"; + } public override void RemoveFromParent() { base.RemoveFromParent(); @@ -41,7 +45,7 @@ /// <summary> /// 鏄剧ず鍔犺浇鐣岄潰 /// </summary> - public static Loading Loading = new Loading(); + public static Loading loading = new Loading(); VerticalRefreshLayout verticalRefresh; public void Show() @@ -68,11 +72,10 @@ verticalRefresh.BeginHeaderRefreshingAction += () => { - SeachMusic(); - verticalRefresh.EndHeaderRefreshing(); + SeachMusic(false); }; - this.AddChidren(Loading); + this.AddChidren(loading); if (A31MusicModel.A31MusicModelList.Count == 0) { @@ -81,7 +84,7 @@ else { clearA31Threads(); - verticalRefresh.RemoveAll(); + //verticalRefresh.RemoveAll(); for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++) { var a31player = A31MusicModel.A31MusicModelList[i]; @@ -89,6 +92,14 @@ if (!a31player.IsCanShow) { continue; + } + if (A31MusicModel.A31MusicModelList.Count - 1 == i) + { + a31player.IsEnd = true; + } + else + { + a31player.IsEnd = false; } ///鍔犺浇鐣岄潰鏃堕粯璁や笉鍦ㄧ嚎 ///杩欓噷鏍囪鏄负浜嗕笉璇诲彇涓嶅湪绾挎挱鏀惧櫒鐘舵�� @@ -103,7 +114,7 @@ if (obj == null) { ///杩欓噷瑕佽鍙栦富浠庡叧绯� - // readServerOrClientMode(false); + readServerOrClientMode(); A31MusicModel.Save(); return; } @@ -133,20 +144,25 @@ if (Yes) { //涓轰簡绗竴娆¤繘鏉og涓�涓�; - Loading.Start(); + loading.Start(); } SendMethod.Seach((obj) => { if (obj == null) { - //readServerOrClientMode(true); + readServerOrClientMode(); A31MusicModel.Save(); + if (!Yes) + { + ///绛夊緟璺戝畬鍦ㄥ叧闂� + verticalRefresh.EndHeaderRefreshing(); + } Application.RunOnMainThread(() => { if (Yes) { //涓轰簡绗竴娆¤繘鏉og涓�涓�; - Loading.Hide(); + loading.Hide(); } verticalRefresh.RemoveAll(); for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++) @@ -157,8 +173,17 @@ { continue; } + if (A31MusicModel.A31MusicModelList.Count - 1 == i) + { + a31player.IsEnd = true; + } + else + { + a31player.IsEnd = false; + } MusicListView(a31player); } + }); return; } @@ -193,35 +218,41 @@ musicView.View(verticalRefresh); musicView.singerBtn.Text = a31player.A31PlayStatus.Artist; musicView.songNameBtn.Text = a31player.A31PlayStatus.Title; - musicView.musicNameBtn.Text = a31player.Name; + musicView.musicNameBtn.Text = new View.DialogView { }.NamePlayer(a31player); musicView.regionBtn.TextID = StringId.region; - if (a31player.A31PlayStatus.status == "play") - { - musicView.playBtn.IsSelected = true; + if (a31player.IsEnd) { + musicView.muiscFl.Height =Application.GetRealHeight(12 + 139 + 12); } - else + EventHandler<MouseEventArgs> clickMergence = (sender, e) => { - musicView.playBtn.IsSelected = false; - } - EventHandler<MouseEventArgs> clickPlay = (sender, e) => - { - A31MusicModel.Current = a31player;//褰撳墠鎾斁鍣� - var a31PlayMusicPage = new A31PlayMusicPage(); - MainPage.BasePageView.AddChidren(a31PlayMusicPage); - a31PlayMusicPage.Show(); - MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + if (a31player.ServerClientType == 0) + { + new View.DialogView { }.PlayMergence(); + } + else if (a31player.ServerClientType == 1) + { + new View.DialogView { }.DetachPlayMergence(a31player); + + } }; + musicView.mergeBjBtn.MouseUpEventHandler += clickMergence; + musicView.mergeBtn.MouseUpEventHandler += clickMergence; + musicView.mergeIconBtn.MouseUpEventHandler += clickMergence; - musicView.singerBtn.MouseUpEventHandler += clickPlay; - musicView.songNameBtn.MouseUpEventHandler += clickPlay; - musicView.musicNameBtn.MouseUpEventHandler += clickPlay; - musicView.regionBtn.MouseUpEventHandler += clickPlay; + musicView.clickBtn.MouseUpEventHandler += (sender, e) => + { + A31MusicModel.Current = a31player;//褰撳墠鎾斁鍣� + var a31PlayMusicPage = new A31PlayMusicPage(); + MainPage.BasePageView.AddChidren(a31PlayMusicPage); + a31PlayMusicPage.Show(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; ///涓婁竴鏇茬偣鍑讳簨浠� musicView.prevBtn.MouseDownEventHandler += (sender, e) => { musicView.prevBtn.IsSelected = true; - SendMethod.Previous(); + SendMethod.Previous(a31player); }; musicView.prevBtn.MouseUpEventHandler += (sender, e) => { @@ -233,21 +264,21 @@ if (musicView.playBtn.IsSelected) { musicView.playBtn.IsSelected = false; - SendMethod.Pause(); - A31MusicModel.Current.A31PlayStatus.status = "pause"; + SendMethod.Pause(a31player); + a31player.A31PlayStatus.status = "pause"; } else { musicView.playBtn.IsSelected = true; - SendMethod.Play(); - A31MusicModel.Current.A31PlayStatus.status = "play"; + SendMethod.Play(a31player); + a31player.A31PlayStatus.status = "play"; } }; ///涓嬩竴鏇茬偣鍑讳簨浠� musicView.nextBtn.MouseDownEventHandler += (sender, e) => { musicView.nextBtn.IsSelected = true; - SendMethod.Next(); + SendMethod.Next(a31player); }; musicView.nextBtn.MouseUpEventHandler += (sender, e) => { @@ -270,7 +301,7 @@ { musicView.singerBtn.Text = a31player.A31PlayStatus.Artist; musicView.songNameBtn.Text = a31player.A31PlayStatus.Title; - musicView.musicNameBtn.Text = a31player.Name; + musicView.musicNameBtn.Text = new View.DialogView { }.NamePlayer(a31player); if (a31player.A31PlayStatus.status == "play") { musicView.playBtn.IsSelected = true; @@ -285,7 +316,97 @@ } + /// <summary> + /// 璇诲彇涓讳粠鍏崇郴 + /// </summary> + void readServerOrClientMode() + { + try + { + for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++) + { + var a31player = A31MusicModel.A31MusicModelList[i]; + if (!a31player.IsOnLine) + { + continue; + } + try + { + a31player.ServerClientType = 0; + var result = SendMethod.OpenWeb("http://" + a31player.IPAddress + "/httpapi.asp?command=multiroom:getSlaveList"); + if (result == null && result == "Failed") + { + result = SendMethod.OpenWeb("http://" + a31player.IPAddress + "/httpapi.asp?command=multiroom:getSlaveList"); + } + if (result != null && result != "Failed") + { + a31player.Slave = Newtonsoft.Json.JsonConvert.DeserializeObject<Slaves>(result); + } + } + catch (Exception e) + { + var d = e.Message; + } + } + //鍒嗘瀽涓讳粠鍏崇郴 + for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++) + { + var a31player = A31MusicModel.A31MusicModelList[i]; + if (!a31player.IsOnLine) + { + continue; + } + try + { + if (a31player.Slave != null && "0" != a31player.Slave.slaves) + { + a31player.ServerClientType = 1;//涓荤殑 + string str = a31player.Name; + for (int j = 0; j < a31player.Slave.slave_list.Count; j++) + { + + var slave = a31player.Slave.slave_list[j]; + str = str + "+" + slave.name; + var tempA31Player = A31MusicModel.A31MusicModelList.Find((obj) => slave.uuid.Replace("uuid:", "") == obj.UniqueDeviceName); + if (tempA31Player == null) + { + A31MusicModel.A31MusicModelList.Add(new A31MusicModel + { + ServerClientType = -1,//浠庣殑 + IPAddress = slave.ip, + MainPlayIP = a31player.IPAddress, + UniqueDeviceName = slave.uuid.Replace("uuid:", ""), + Name = slave.name, + IsCanShow = false, + IsOnLine = false,//true浣滅敤涓轰簡璇诲彇浠庢挱鏀惧櫒鐨勯煶閲� + }); + } + //濡傛灉鎵惧埌灏辨洿鏂颁负浠庣殑 + else + { + tempA31Player.ServerClientType = -1;//浠庣殑 + tempA31Player.IPAddress = slave.ip; + tempA31Player.MainPlayIP = a31player.IPAddress; + tempA31Player.Name = slave.name; + tempA31Player.UniqueDeviceName = slave.uuid.Replace("uuid:", ""); + tempA31Player.IsCanShow = false; + tempA31Player.IsOnLine = false;//true浣滅敤涓轰簡璇诲彇浠庢挱鏀惧櫒鐨勯煶閲� + + } + } + a31player.MainPlayName = str; + } + } + catch (Exception e) + { + var ss = e.Message; + } + } + + } + catch { } + } } -- Gitblit v1.8.0