From 097511a2a666f1206fd78fdef0e213e09b5f46df Mon Sep 17 00:00:00 2001
From: JLChen <551775569@qq.com>
Date: 星期六, 21 八月 2021 12:58:40 +0800
Subject: [PATCH] 2021-8-21-01
---
HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs | 7
HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs | 423 +++++++++++++++-------------------------------
HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs | 106 ++++++++++-
3 files changed, 238 insertions(+), 298 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs
index d651ae9..097d477 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs
@@ -97,6 +97,8 @@
///鍒囨崲鎾斁妯″紡鐐瑰嚮浜嬩欢;
playView.playOrderBtn.MouseUpEventHandler += (sender, e) =>
{
+ //single/single_cycle/order/list_cycle/random
+ string modeValueString = string.Empty;
string msg = Language.StringByID(StringId.switchTo);
switch (A31MusicModel.Current.A31PlayStatus.loop)
{
@@ -119,8 +121,9 @@
break;
}
new PublicAssmebly().TipMsgAutoClose(msg, false,1000);
- string url = "http://" + A31MusicModel.Current.IPAddress + "/httpapi.asp?command=setPlayerCmd:" + "loopmode:" + A31MusicModel.Current.A31PlayStatus.loop;
- SendMethod.SendCommand(url);
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("mode",modeValueString);
+ //SendMethod.sendMethod.SendControlCommand(,dic);
};
///娣诲姞鍠滅埍鐐瑰嚮浜嬩欢;
playView.loveBtn.MouseUpEventHandler += (sender, e) =>
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs
index 01c7106..6c88a70 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs
@@ -3,6 +3,8 @@
using Shared;
using Shared.IO;
using System.Net;
+using HDL_ON.Entity;
+
namespace HDL_ON.UI.Music
{
public class MusicMain : FrameLayout
@@ -56,19 +58,22 @@
/// <summary>
/// 鏄剧ず鍔犺浇鐣岄潰
/// </summary>
- public static Loading loading = new Loading();
+ public static Loading loading = new Loading();
/// <summary>
/// 瀹氫箟鍏ㄥ眬瀵硅薄
/// </summary>
VerticalRefreshLayout verticalRefresh;
+ /// <summary>
+ /// 涓轰簡闊充箰鍒锋柊鐘舵�佸畾涔夊叏灞�瀵硅薄
+ /// </summary>
+ MusicView musicView = new MusicView();
public void Show()
{
-
#region 鐣岄潰甯冨眬
this.BackgroundColor = MusicColor.ViewColor;
var topView = new TopView();
this.AddChidren(topView.TopFLayoutView());
- topView.topNameBtn.TextID =StringId.a31Music;
+ topView.topNameBtn.TextID = StringId.a31Music;
topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
{
RemoveFromParent();
@@ -84,200 +89,71 @@
verticalRefresh.BeginHeaderRefreshingAction += () =>
{
- SeachMusic(false);
-
+ SeachMusic();
};
this.AddChidren(loading);
+ SeachMusic();
- if (A31MusicModel.A31MusicModelList.Count == 0)
- {
- SeachMusic(true);
- }
- else
- {
- clearA31Threads();
- //verticalRefresh.RemoveAll();
- for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++)
- {
- var a31player = A31MusicModel.A31MusicModelList[i];
- ///杩欎釜鐘舵�佹槸涔嬪墠淇濆瓨鐨勶紝鍔犺浇瀹屾垚鍚庤鏍囪涓轰笉鍦ㄧ嚎锛屽悗闈㈠啀璇诲彇姝g‘鐨勭姸鎬�
- if (!a31player.IsCanShow)
- {
- continue;
- }
- if (A31MusicModel.A31MusicModelList.Count - 1 == i)
- {
- a31player.IsEnd = true;
- }
- else
- {
- a31player.IsEnd = false;
- }
- ///鍔犺浇鐣岄潰鏃堕粯璁や笉鍦ㄧ嚎
- ///杩欓噷鏍囪鏄负浜嗕笉璇诲彇涓嶅湪绾挎挱鏀惧櫒鐘舵��
- a31player.IsOnLine = false;
- MusicListView(a31player);
- }
- ///璇诲彇姝g‘鐨勪俊鎭紝鍖呮嫭IP鍜岀鍙e強鍚嶇О
- SendMethod.Seach((obj) =>
- {
- try
- {
- if (obj == null)
- {
- ///杩欓噷瑕佽鍙栦富浠庡叧绯�
- readServerOrClientMode();
- A31MusicModel.Save();
- return;
- }
- var a31MusicModel = A31MusicModel.A31MusicModelList.Find((music) => music.UniqueDeviceName == obj.UniqueDeviceName);
- if (a31MusicModel != null)
- {
- a31MusicModel.IPAddress = obj.IPAddress;
- a31MusicModel.Port = obj.Port;
- a31MusicModel.Name = obj.Name;
- a31MusicModel.IsCanShow = true;
- a31MusicModel.IsOnLine = true;
- }
- }
- catch (Exception e) { MainPage.Log(e.Message); }
- });
- }
}
/// <summary>
/// 鍒锋柊鎾斁鍣ㄥ垪琛�
/// </summary>
- /// <param name="Yes">鏄惁鏄剧ず鍒锋柊鍥炬爣</param>
- void SeachMusic(bool Yes = false)
+ void SeachMusic()
{
- for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++)
+ Application.RunOnMainThread(() =>
{
- var a31player = A31MusicModel.A31MusicModelList[i];
- a31player.IsCanShow = false;
- a31player.IsOnLine = false;
- }
- if (Yes)
- {
- //涓轰簡绗竴娆¤繘鏉og涓�涓�;
- loading.Start();
- }
- SendMethod.Seach((obj) =>
- {
- if (obj == null)
+ verticalRefresh.RemoveAll();
+ for (int i = 0; i < SendMethod.sendMethod.GetMusicList.Count; i++)
{
- readServerOrClientMode();
- A31MusicModel.Save();
- if (!Yes)
+ var playerFunction = SendMethod.sendMethod.GetMusicList[i];
+ if (!playerFunction.online)
{
- ///绛夊緟璺戝畬鍦ㄥ叧闂�
- verticalRefresh.EndHeaderRefreshing();
+ //杩囨护鎺変笉鍦ㄧ嚎鐨勯煶涔愭挱鏀惧櫒
+ continue;
}
- Application.RunOnMainThread(() =>
- {
- if (Yes)
- {
- //涓轰簡绗竴娆¤繘鏉og涓�涓�;
- loading.Hide();
- }
- verticalRefresh.RemoveAll();
- for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++)
- {
- var a31player = A31MusicModel.A31MusicModelList[i];
- //杩欎釜鐘舵�佹槸涔嬪墠淇濆瓨鐨勶紝鍔犺浇瀹屾垚鍚庤鏍囪涓轰笉鍦ㄧ嚎锛屽悗闈㈠啀璇诲彇姝g‘鐨勭姸鎬�
- if (!a31player.IsCanShow)
- {
- continue;
- }
- if (A31MusicModel.A31MusicModelList.Count - 1 == i)
- {
- a31player.IsEnd = true;
- }
- else
- {
- a31player.IsEnd = false;
- }
- MusicListView(a31player);
- }
- //A31MusicModel.ReadMusicStates();
+ MusicListView(playerFunction);
+ }
- });
- return;
- }
- var a31MusicModel = A31MusicModel.A31MusicModelList.Find((music) => { return music.UniqueDeviceName == obj.UniqueDeviceName; });
- if (a31MusicModel == null)
- {
- //涓嶆槸鎴戜滑鏀寔鐨勫搧鐗屼笉鏀寔
- if (obj.Name != null)
- {
- obj.sid = "030101123456780909020123AABB" + obj.UniqueDeviceName;
- A31MusicModel.A31MusicModelList.Add(obj);
- }
- }
- else
- {
- a31MusicModel.IPAddress = obj.IPAddress;
- a31MusicModel.Port = obj.Port;
- a31MusicModel.Name = obj.Name;
- a31MusicModel.IsCanShow = true;
- a31MusicModel.IsOnLine = true;
- }
});
}
/// <summary>
/// 鏄剧ず闊充箰鍒楄〃鐨勬柟娉�
/// </summary>
- void MusicListView(A31MusicModel a31player)
+ void MusicListView(Function player)
{
- MusicView musicView = new MusicView();
musicView.View(verticalRefresh);
- musicView.singerBtn.Text = a31player.A31PlayStatus.Artist;
- musicView.songNameBtn.Text = a31player.A31PlayStatus.Title;
- musicView.musicNameBtn.Text = new View.DialogView { }.NamePlayer(a31player);
- if (a31player.IsEnd)
- {
- musicView.muiscFl.Height = Application.GetRealHeight(12 + 139 + 12);
- }
+ musicView.singerBtn.Text = player.GetAttrState("song_name");
+ musicView.songNameBtn.Text = player.GetAttrState("song_name");
+ musicView.musicNameBtn.Text = player.name;
+ //if (player.IsEnd)
+ //{
+ // musicView.muiscFl.Height = Application.GetRealHeight(12 + 139 + 12);
+ //}
musicView.collectIconBtn.MouseUpEventHandler += (sender, e) =>
{
musicView.collectIconBtn.IsSelected = !musicView.collectIconBtn.IsSelected;
- if (a31player.ServerClientType == 1)
+ if (musicView.collectIconBtn.IsSelected)
{
- if (musicView.collectIconBtn.IsSelected)
- {
- a31player.MainPlayCollection = true;
- }
- else
- {
- a31player.MainPlayCollection = false;
- }
+ player.collect = true;
}
else
{
- if (musicView.collectIconBtn.IsSelected)
- {
- a31player.collect = true;
- }
- else
- {
- a31player.collect = false;
- }
+ player.collect = false;
}
- A31MusicModel.Save();
};
EventHandler<MouseEventArgs> clickMergence = (sender, e) =>
{
- if (a31player.ServerClientType == 0)
- {
- new View.DialogView { }.PlayMergence(a31player);
- }
- else if (a31player.ServerClientType == 1)
- {
- new View.DialogView { }.DetachPlayMergence(a31player);
-
- }
+ //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;
@@ -285,7 +161,6 @@
EventHandler<MouseEventArgs> clickPlayView = (sender, e) =>
{
- A31MusicModel.Current = a31player;//褰撳墠鎾斁鍣�
var a31PlayMusicPage = new A31PlayMusicPage();
MainPage.BasePageView.AddChidren(a31PlayMusicPage);
a31PlayMusicPage.Show();
@@ -302,7 +177,9 @@
musicView.prevBtn.MouseDownEventHandler += (sender, e) =>
{
musicView.prevBtn.IsSelected = true;
- SendMethod.Previous(a31player);
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("song_step", "up");
+ SendMethod.sendMethod.SendControlCommand(player, dic);
};
musicView.prevBtn.MouseUpEventHandler += (sender, e) =>
{
@@ -311,24 +188,28 @@
///鏆傚仠/鎾斁鐐瑰嚮浜嬩欢
musicView.playBtn.MouseDownEventHandler += (sender, e) =>
{
+ string status = "off";
if (musicView.playBtn.IsSelected)
{
musicView.playBtn.IsSelected = false;
- SendMethod.Pause(a31player);
- a31player.A31PlayStatus.status = "pause";
+ status = "off";
}
else
{
musicView.playBtn.IsSelected = true;
- SendMethod.Play(a31player);
- a31player.A31PlayStatus.status = "play";
+ status = "on";
}
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("on_off", status);
+ SendMethod.sendMethod.SendControlCommand(player, dic);
};
///涓嬩竴鏇茬偣鍑讳簨浠�
musicView.nextBtn.MouseDownEventHandler += (sender, e) =>
{
musicView.nextBtn.IsSelected = true;
- SendMethod.Next(a31player);
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("song_step", "down");
+ SendMethod.sendMethod.SendControlCommand(player, dic);
};
musicView.nextBtn.MouseUpEventHandler += (sender, e) =>
{
@@ -340,47 +221,49 @@
while (true)
{
System.Threading.Thread.Sleep(1000);
- if (!a31player.IsOnLine)
+ if (!player.online)
{
continue;
}
- SendMethod.ReadStatus(a31player);
+ //SendMethod.ReadStatus(player);
+ SendMethod.sendMethod.RefreshDeviceStatus(player,new List<string> { player.deviceId });
+
Application.RunOnMainThread(() =>
{
- musicView.singerBtn.Text = a31player.A31PlayStatus.Artist;
- musicView.songNameBtn.Text = a31player.A31PlayStatus.Title;
- musicView.musicNameBtn.Text = new View.DialogView { }.NamePlayer(a31player);
- if (a31player.A31PlayStatus.status == "play")
- {
- musicView.playBtn.IsSelected = true;
- }
- else
- {
- musicView.playBtn.IsSelected = false;
- }
- musicView.regionBtn.Text = a31player.GetRoomListName();
- if (a31player.ServerClientType == 1)
- {
- if (a31player.MainPlayCollection)
- {
- musicView.collectIconBtn.IsSelected = true;
- }
- else
- {
- musicView.collectIconBtn.IsSelected = false;
- }
- }
- else
- {
- if (a31player.collect)
- {
- musicView.collectIconBtn.IsSelected = true;
- }
- else
- {
- musicView.collectIconBtn.IsSelected = false;
- }
- }
+ //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;
+ // }
+ //}
});
}
})
@@ -388,99 +271,67 @@
musicThread.Start();
threadLists.Add(musicThread);
}
+
/// <summary>
- /// 璇诲彇涓讳粠鍏崇郴
+ ///鎸囧畾鍒锋柊鐣岄潰
/// </summary>
- void readServerOrClientMode()
+ /// <param name="strView">鍒ゆ柇瀛楃</param>
+ public void RefreshView(string strView)
{
- try
+ Application.RunOnMainThread(() =>
{
- for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++)
+ try
{
- var a31player = A31MusicModel.A31MusicModelList[i];
- if (!a31player.IsOnLine)
+
+ for (int i = MainPage.BasePageView.ChildrenCount - 1; 0 <= i; i--)
{
- continue;
- }
- try
- {
- a31player.ServerClientType = 0;
- var result = SendMethod.OpenWeb("http://" + a31player.IPAddress + "/httpapi.asp?command=multiroom:getSlaveList");
- if (result == null && result == "Failed")
+ var view = MainPage.BasePageView.GetChildren(i);
+ if (strView == view.Tag.ToString())
{
- 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++)
+ if (view.GetType() == typeof(MusicMain))
{
-
- 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
- {
- sid = "030101123456780909020123AABB" + slave.uuid.Replace("uuid:", ""),
- 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浣滅敤涓轰簡璇诲彇浠庢挱鏀惧櫒鐨勯煶閲�
-
- }
+ //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;
+ // }
+ //}
}
- a31player.MainPlayName = str;
}
- }
- catch (Exception e)
- {
- var ss = e.Message;
+
}
}
-
- }
- catch { }
+ catch { }
+ });
}
-
}
}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
index dd36144..0a3fc25 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
@@ -4,12 +4,28 @@
using System.Net.Sockets;
using System.Security;
using System.Text;
+using HDL_ON.DAL.Server;
+using HDL_ON.Entity;
using Shared;
namespace HDL_ON.UI.Music
{
public class SendMethod
{
+ private static SendMethod m_sendMethod=null;
+ public static SendMethod sendMethod
+ {
+ get
+ {
+ if (m_sendMethod == null)
+ {
+ m_sendMethod = new SendMethod();
+ }
+ return m_sendMethod;
+ }
+
+ }
+
/// <summary>
///鎼滅储A31闊充箰鎾斁鍣�
/// </summary>
@@ -209,7 +225,7 @@
a31MusicModel.A31PlayStatus.loop = se.SearchForTextOfTag("LoopMode");
a31MusicModel.A31PlayStatus.Source = se.SearchForTextOfTag("PlayMedium");
a31MusicModel.A31PlayStatus.playSource = se.SearchForTextOfTag("TrackSource");
- a31MusicModel.A31PlayStatus.TrackURL = se.SearchForTextOfTag("TrackURI").Replace("&", "&amp;");
+ a31MusicModel.A31PlayStatus.TrackURL = se.SearchForTextOfTag("TrackURI").Replace("&", "&amp;");
}
catch (Exception ex)
@@ -463,7 +479,8 @@
/// <param name="volume">Volume.</param>
public static void ControlVolume(int volume, A31MusicModel a31player)
{
- System.Threading.Tasks.Task.Run(() => {
+ System.Threading.Tasks.Task.Run(() =>
+ {
A31MusicModel.ProgressDateTime = DateTime.Now;
try
{
@@ -526,7 +543,7 @@
musicInfo.URL = track.SearchForTextOfTag("URL").Replace("&", "&amp;");
var metadata = track.SearchForTextOfTag("Metadata").Replace("&", "&");
var item = SecurityElement.FromString(metadata).SearchForChildByTag("item");
- musicInfo.Title = item.SearchForTextOfTag("dc:title").Replace("&", "&amp;");
+ musicInfo.Title = item.SearchForTextOfTag("dc:title").Replace("&", "&amp;");
musicInfo.Artist = item.SearchForTextOfTag("upnp:artist").Replace("&", "&amp;");
musicInfo.Album = item.SearchForTextOfTag("upnp:album").Replace("&", "&amp;");
musicInfo.Duration = item.SearchForTextOfTag("res");
@@ -597,7 +614,7 @@
/// <summary>
/// 鑾峰彇褰撳墠鎾斁鐨勫垪琛�
/// </summary>
- public static string GetCurrentPlayList(A31MusicModel a31player)
+ public static string GetCurrentPlayList(A31MusicModel a31player)
{
System.Text.StringBuilder getPlayList = new System.Text.StringBuilder();
getPlayList.AppendLine("<?xml version=\"1.0\"encoding=\"utf-8\"?>");
@@ -656,7 +673,7 @@
/// <param name="musicInfo">鎾斁闊充箰</param>
/// <param name="listName">鍒楄〃鍚嶇О</param>
/// <param name="musicList">鎺ㄩ�佸垪琛�(榛樿鎺�50棣�)</param>
- public static void PushList(MusicInfo musicInfo, string listName, List<MusicInfo> musicList, A31MusicModel a31player,string musicSource)
+ public static void PushList(MusicInfo musicInfo, string listName, List<MusicInfo> musicList, A31MusicModel a31player, string musicSource)
{
//鏈�澶у彂閫佺殑鏉℃暟
@@ -739,10 +756,12 @@
sb.AppendLine("&lt;dc:title&gt;" + tempMusicInfo.Title + "&lt;/dc:title&gt;");
sb.AppendLine("&lt;dc:creator&gt;DJ Sanny J&lt;/dc:creator&gt;");
- if (musicSource== "鎴戠殑鍒楄〃") {
+ if (musicSource == "鎴戠殑鍒楄〃")
+ {
sb.AppendLine("&lt;upnp:artist&gt;" + listName + "&lt;/upnp:artist&gt;");
}
- else {
+ else
+ {
sb.AppendLine("&lt;upnp:artist&gt;" + tempMusicInfo.Artist + "&lt;/upnp:artist&gt;");
}
sb.AppendLine("&lt;upnp:album&gt;" + tempMusicInfo.Album + "&lt;/upnp:album&gt;");
@@ -778,7 +797,7 @@
Play(a31player.IPAddress, a31player.Port, playString.ToString());
}
- static void SendMusicLists(string ip, int port, string soapAction, string listInfo)
+ static void SendMusicLists(string ip, int port, string soapAction, string listInfo)
{
System.Net.WebClient webClient = new System.Net.WebClient();
webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#" + soapAction + "\"");
@@ -788,13 +807,13 @@
byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(listInfo));
var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length);
}
- catch(Exception e)
+ catch (Exception e)
{
var d = e.Message;
}
}
- static void Play(string ip, int port, string info)
+ static void Play(string ip, int port, string info)
{
System.Net.WebClient webClient = new System.Net.WebClient();
webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#PlayQueueWithIndex\"");
@@ -882,5 +901,72 @@
public string creator = string.Empty;
}
+ /// <summary>
+ /// 鑾峰彇闊充箰鍒楄〃
+ /// </summary>
+ public List<Function> GetMusicList
+ {
+ get
+ {
+ return FunctionList.List.GetMusicList();
+ }
+ }
+ /// <summary>
+ /// 鍙戦�佹帶鍒跺懡浠�
+ /// </summary>
+ /// <param name="function">褰撳墠璁惧</param>
+ /// <param name="dic">鍙戦�佹帶鍒舵暟鎹�</param>
+ public void SendControlCommand(Function function, Dictionary<string, string> dic)
+ {
+ new System.Threading.Thread(() =>
+ {
+ DriverLayer.Control.Ins.SendWriteCommand(function, dic);
+ })
+ { IsBackground = true }.Start();
+ }
+
+ /// <summary>
+ /// 鍒锋柊璁惧鐘舵��
+ /// </summary>
+ /// <returns></returns>
+ public void RefreshDeviceStatus(Function music, List<string> functionIds)
+ {
+ try
+ {
+ Dictionary<string, object> d = new Dictionary<string, object>();
+ d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+ d.Add("deviceIds", functionIds);
+ var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_RefreshDeviceStatus);
+ if (responsePackNew.Code != "0")
+ {
+ return;
+ }
+ //鏁版嵁杩斿簭鍒楀寲涓篎unction瀵硅薄
+ var str = Newtonsoft.Json.JsonConvert.SerializeObject(responsePackNew.Data.ToString());
+ var function = Newtonsoft.Json.JsonConvert.DeserializeObject<Function>(str);
+ if (function == null)
+ {
+ return;
+ }
+ music.name = function.name;
+ music.sid = function.sid;
+ music.spk = function.spk;
+ music.status = function.status;
+ music.roomIds = function.roomIds;
+ music.attributes = function.attributes;
+ }
+ catch { }
+ }
+
+ /// <summary>
+ ///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛�
+ /// </summary>
+ /// <returns></returns>
+ public ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 5)
+ {
+ var requestJson = HttpUtil.GetSignRequestJson(o);
+ return HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout);
+
+ }
}
}
--
Gitblit v1.8.0