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