From c209a50cabf524c146fb2d02ce09cfc46c7c2f70 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期二, 26 五月 2020 13:49:02 +0800 Subject: [PATCH] 2020-05-26-1 --- HDL_ON/UI/Music/SendMethod.cs | 78 +++++++++++++++++++++++++++++--------- 1 files changed, 59 insertions(+), 19 deletions(-) diff --git a/HDL_ON/UI/Music/SendMethod.cs b/HDL_ON/UI/Music/SendMethod.cs index def4c02..16c3a95 100644 --- a/HDL_ON/UI/Music/SendMethod.cs +++ b/HDL_ON/UI/Music/SendMethod.cs @@ -315,7 +315,7 @@ /// <summary> /// 鎾斁 /// </summary> - public static void Play() + public static void Play(A31MusicModel a31player) { System.Threading.Tasks.Task.Run(() => { @@ -334,7 +334,7 @@ webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); try { - webClient.UploadData(new Uri("http://" + A31MusicModel.Current.IPAddress + ":" + A31MusicModel.Current.Port + "/upnp/control/rendertransport1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); + webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/rendertransport1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); } catch { } }); @@ -342,7 +342,7 @@ /// <summary> /// 鏆傚仠 /// </summary> - public static void Pause() + public static void Pause(A31MusicModel a31player) { System.Threading.Tasks.Task.Run(() => { @@ -360,7 +360,7 @@ webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); try { - webClient.UploadData(new Uri("http://" + A31MusicModel.Current.IPAddress + ":" + A31MusicModel.Current.Port + "/upnp/control/rendertransport1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); + webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/rendertransport1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); } catch { } }); @@ -369,7 +369,7 @@ /// <summary> /// 涓嬩竴鏇� /// </summary> - public static void Next() + public static void Next(A31MusicModel a31player) { System.Threading.Tasks.Task.Run(() => { @@ -387,7 +387,7 @@ webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); try { - webClient.UploadData(new Uri("http://" + A31MusicModel.Current.IPAddress + ":" + A31MusicModel.Current.Port + "/upnp/control/rendertransport1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); + webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/rendertransport1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); } catch { } }); @@ -396,7 +396,7 @@ /// <summary> /// 涓婁竴鏇� /// </summary> - public static void Previous() + public static void Previous(A31MusicModel a31player) { System.Threading.Tasks.Task.Run(() => { @@ -414,7 +414,7 @@ webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); try { - webClient.UploadData(new Uri("http://" + A31MusicModel.Current.IPAddress + ":" + A31MusicModel.Current.Port + "/upnp/control/rendertransport1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); + webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/rendertransport1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); } catch { } }); @@ -423,7 +423,7 @@ /// <summary> /// 蹇繘 /// </summary> - public static void Seek(string seekvolume) + public static void Seek(string seekvolume, A31MusicModel a31player) { System.Threading.Tasks.Task.Run(() => { @@ -443,20 +443,60 @@ webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); try { - webClient.UploadData(new Uri("http://" + A31MusicModel.Current.IPAddress + ":" + A31MusicModel.Current.Port + "/upnp/control/rendertransport1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); + webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/rendertransport1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); } catch { } }); } + /// <summary> + /// 璋冭妭闊抽噺 + /// </summary> + /// <param name="volume">Volume.</param> + public static void ControlVolume(int volume, A31MusicModel a31player) + { + System.Threading.Tasks.Task.Run(() => { + A31MusicModel.ProgressDateTime = DateTime.Now; + try + { + if (a31player.ServerClientType == -1) + { + new System.Net.WebClient().DownloadData(new Uri("http://" + a31player.ServerIP + "/httpapi.asp?command=multiroom:SlaveVolume:" + a31player.IPAddress + ":" + volume)); + } + else if (a31player.ServerClientType == 1) + { + new System.Net.WebClient().DownloadData(new Uri("http://" + a31player.IPAddress + "/httpapi.asp?command=setPlayerCmd:slave_vol:" + volume)); + } + else + { + var sb = new StringBuilder(); + sb.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">"); + sb.AppendLine("<s:Body>"); + sb.AppendLine("<u:SetVolume xmlns:u=\"urn:schemas-upnp-org:service:RenderingControl:1\">"); + sb.AppendLine("<InstanceID>0</InstanceID>"); + sb.AppendLine("<Channel>Master</Channel>"); + sb.AppendLine("<DesiredVolume>" + volume + "</DesiredVolume>"); + sb.AppendLine("</u:SetVolume>"); + sb.AppendLine("</s:Body>"); + sb.AppendLine("</s:Envelope>"); + var webClient = new System.Net.WebClient(); + webClient.Headers.Add("SOAPACTION", "\"urn:schemas-upnp-org:service:RenderingControl:1#SetVolume\""); + webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); + webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/rendercontrol1"), "POST", Encoding.UTF8.GetBytes(sb.ToString())); + } + } + catch { } + }); + + } /// <summary> /// 鑾峰彇USb鐨勫垪琛� /// </summary> - public static List<MusicInfo> GetUsbList() + public static List<MusicInfo> GetUsbList(A31MusicModel a31player) { var musicInfoList = new List<MusicInfo>(); musicInfoList.Clear(); - var usbString = GetUSBPlayList(); + var usbString = GetUSBPlayList(a31player); if (usbString == null) { return musicInfoList; @@ -489,7 +529,7 @@ /// <summary> ///璇锋眰USB鍒楄〃鍛戒护 /// </summary> - public static string GetUSBPlayList() + public static string GetUSBPlayList(A31MusicModel a31player) { StringBuilder getPlayList = new StringBuilder(); @@ -507,7 +547,7 @@ try { - byte[] recevieBytes = webClient.UploadData(new Uri("http://" + A31MusicModel.Current.IPAddress + ":" + A31MusicModel.Current.Port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(getPlayList.ToString())); + byte[] recevieBytes = webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(getPlayList.ToString())); return System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); } catch { } @@ -549,7 +589,7 @@ /// <summary> /// 鑾峰彇褰撳墠鎾斁鐨勫垪琛� /// </summary> - public static string GetCurrentPlayList() + public static string GetCurrentPlayList(A31MusicModel a31player) { System.Text.StringBuilder getPlayList = new System.Text.StringBuilder(); getPlayList.AppendLine("<?xml version=\"1.0\"encoding=\"utf-8\"?>"); @@ -566,7 +606,7 @@ webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); try { - byte[] recevieBytes = webClient.UploadData(new Uri("http://" + A31MusicModel.Current.IPAddress + ":" + A31MusicModel.Current.Port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(getPlayList.ToString())); + byte[] recevieBytes = webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(getPlayList.ToString())); return System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); } catch { } @@ -577,7 +617,7 @@ /// </summary> /// <param name="listName">鍒楄〃鍚嶇О</param> /// <param name="number">鎾斁绱㈠紩</param> - public static void ListMusicPlay(string listName, object number) + public static void ListMusicPlay(string listName, object number, A31MusicModel a31player) { System.Text.StringBuilder playstrings = new System.Text.StringBuilder(); playstrings.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>"); @@ -594,7 +634,7 @@ webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\""); try { - byte[] recevieBytes = webClient.UploadData(new Uri("http://" + A31MusicModel.Current.IPAddress + ":" + A31MusicModel.Current.Port + "/upnp/control/PlayQueue1"), "POST", Encoding.UTF8.GetBytes(playstrings.ToString())); + byte[] recevieBytes = webClient.UploadData(new Uri("http://" + a31player.IPAddress + ":" + a31player.Port + "/upnp/control/PlayQueue1"), "POST", Encoding.UTF8.GetBytes(playstrings.ToString())); var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length); } catch { } @@ -663,7 +703,7 @@ return check_sum; } - public class A31QQSong + public class A31QQSong { public string title = string.Empty; public string album = string.Empty; -- Gitblit v1.8.0