From b7724b7823c1172f30178c3628218acef90f84b6 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期二, 02 六月 2020 12:01:34 +0800 Subject: [PATCH] 2020-06-2-1 --- HDL_ON/UI/Music/MusicMain.cs | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 109 insertions(+), 3 deletions(-) diff --git a/HDL_ON/UI/Music/MusicMain.cs b/HDL_ON/UI/Music/MusicMain.cs index 1f4b697..dff60b5 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(); @@ -103,7 +107,7 @@ if (obj == null) { ///杩欓噷瑕佽鍙栦富浠庡叧绯� - // readServerOrClientMode(false); + //readServerOrClientMode(); A31MusicModel.Save(); return; } @@ -139,7 +143,7 @@ { if (obj == null) { - //readServerOrClientMode(true); + readServerOrClientMode(); A31MusicModel.Save(); Application.RunOnMainThread(() => { @@ -195,6 +199,8 @@ musicView.songNameBtn.Text = a31player.A31PlayStatus.Title; musicView.musicNameBtn.Text = a31player.Name; musicView.regionBtn.TextID = StringId.region; + + EventHandler<MouseEventArgs> clickMergence = (sender, e) => { @@ -266,7 +272,14 @@ { musicView.singerBtn.Text = a31player.A31PlayStatus.Artist; musicView.songNameBtn.Text = a31player.A31PlayStatus.Title; - musicView.musicNameBtn.Text = a31player.Name; + if (a31player.ServerClientType == 1) + { + musicView.musicNameBtn.Text = a31player.MainPlayName; + } + else + { + musicView.musicNameBtn.Text = a31player.Name; + } if (a31player.A31PlayStatus.status == "play") { musicView.playBtn.IsSelected = true; @@ -281,7 +294,100 @@ } + /// <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 = SendMethod.OpenWeb("http://" + a31player.IPAddress + "/httpapi.asp?command=multiroom:getSlaveList"); + } + if (result != null) + { + 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, + }); + } + //濡傛灉鎵惧埌灏辨洿鏂颁负浠庣殑 + 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; + + } + } + a31player.MainPlayName = str; + } + } + catch (Exception e) + { + var ss = e.Message; + } + } + + } + catch (Exception e) + { + var ss = e.Message; + } + } } -- Gitblit v1.8.0