From c26c06ef4a22d6fb9e59dc734abca92fa8a23c47 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期五, 05 六月 2020 17:41:00 +0800
Subject: [PATCH] 2020-06-05-02
---
HDL_ON/UI/Music/MusicMain.cs | 128 +++++++++++++++++++++++++++++++++++++++---
1 files changed, 117 insertions(+), 11 deletions(-)
diff --git a/HDL_ON/UI/Music/MusicMain.cs b/HDL_ON/UI/Music/MusicMain.cs
index 1f4b697..f014ced 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)
{
@@ -103,7 +106,7 @@
if (obj == null)
{
///杩欓噷瑕佽鍙栦富浠庡叧绯�
- // readServerOrClientMode(false);
+ readServerOrClientMode();
A31MusicModel.Save();
return;
}
@@ -133,20 +136,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++)
@@ -193,12 +201,20 @@
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;
EventHandler<MouseEventArgs> clickMergence = (sender, e) =>
{
- new View.DialogView { }.PlayMergence();
+ 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;
@@ -266,7 +282,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;
@@ -281,7 +297,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