From 84e76cf2fcbe26142750131d3c27eaac0335e40a Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期四, 11 三月 2021 11:04:08 +0800
Subject: [PATCH] 上传一个添加红外宝 Ios 版本
---
HDL_ON/UI/UI2/FuntionControlView/Music/A31MyList.cs | 188 ++++------------------------------------------
1 files changed, 17 insertions(+), 171 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyList.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyList.cs
index 4cc95ef..2e8ac86 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyList.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyList.cs
@@ -13,7 +13,7 @@
VerticalScrolViewLayout middViewLayout;
public void Show()
{
- this.BackgroundColor = Color.ViewColor;
+ this.BackgroundColor = MusicColor.ViewColor;
var topView = new TopView();
this.AddChidren(topView.TopFLayoutView());
topView.topNameBtn.TextID = StringId.myList;
@@ -36,12 +36,12 @@
};
- Button addIconBtn = new Button
+ var addIconBtn = new Button
{
X = Application.GetRealWidth(336),
Y = Application.GetRealHeight(30),
- Width = Application.GetMinRealAverage(28),
- Height = Application.GetMinRealAverage(28),
+ Width = Application.GetRealWidth(28),
+ Height = Application.GetRealWidth(28),
UnSelectedImagePath = "MusicIcon/addMusic.png",
};
topView.TopFLayoutView().AddChidren(addIconBtn);
@@ -65,7 +65,7 @@
middViewLayout = new VerticalScrolViewLayout
{
- BackgroundColor = Color.WhiteColor,
+ BackgroundColor = MusicColor.WhiteColor,
Y = topView.fLayout.Bottom,
Height = Application.GetRealHeight(H_W.H - H_W.T_Height),
};
@@ -87,7 +87,7 @@
RowLayout addFlieRow = new RowLayout
{
Height = Application.GetRealHeight(104),
- LineColor = Color.WhiteColor,
+ LineColor = MusicColor.WhiteColor,
SubViewWidth = Application.GetRealWidth(90),//鏀瑰彉缂栬緫鎺т欢瀹藉害澶氬皯锛�
};
middViewLayout.AddChidren(addFlieRow);
@@ -96,8 +96,8 @@
{
X = Application.GetRealWidth(16),
Y = Application.GetRealHeight(8),
- Width = Application.GetMinRealAverage(88),
- Height = Application.GetMinRealAverage(88),
+ Width = Application.GetRealWidth(88),
+ Height = Application.GetRealWidth(88),
UnSelectedImagePath = "MusicIcon/fileList.png",
};
addFlieRow.AddChidren(fileIconBtn);
@@ -106,8 +106,8 @@
{
X = Application.GetRealWidth(78),
Y = Application.GetRealHeight(70),
- Width = Application.GetMinRealAverage(24),
- Height = Application.GetMinRealAverage(24),
+ Width = Application.GetRealWidth(24),
+ Height = Application.GetRealWidth(24),
UnSelectedImagePath = "MusicIcon/filePause.png",
SelectedImagePath = "MusicIcon/filePlay.png",
Tag= list,
@@ -157,7 +157,7 @@
//绉婚櫎鐣岄潰
System.Threading.Tasks.Task.Run(() =>
{
- PushList(songs, list.ListName, list.MusicInfoList);
+ SendMethod.PushList(songs, list.ListName, list.MusicInfoList,A31MusicModel.Current, "鎴戠殑鍒楄〃");
});
});
});
@@ -173,7 +173,7 @@
Y = Application.GetRealHeight(42),
Width = Application.GetRealWidth(217),
Height = Application.GetRealHeight(20),
- TextColor = Color.TextColor,
+ TextColor = MusicColor.TextColor,
TextSize = TextSize.Text14,
TextAlignment = TextAlignment.CenterLeft,
Text= list.ListName,
@@ -182,9 +182,9 @@
///缂栬緫鎺т欢
var editBtn = new Button
{
- BackgroundColor = Color.MusicEditColor,
+ BackgroundColor = MusicColor.MusicEditColor,
Text = Language.StringByID(StringId.editMusic),
- TextColor = Color.WhiteColor,
+ TextColor = MusicColor.WhiteColor,
TextSize = TextSize.Text16,
};
addFlieRow.AddRightView(editBtn);
@@ -212,9 +212,9 @@
///鍒犻櫎鎺т欢
var delBtn = new Button
{
- BackgroundColor = Color.MusicDelColor,
+ BackgroundColor = MusicColor.MusicDelColor,
Text = Language.StringByID(StringId.delMusic),
- TextColor = Color.WhiteColor,
+ TextColor = MusicColor.WhiteColor,
TextSize = TextSize.Text16,
};
addFlieRow.AddRightView(delBtn);
@@ -286,160 +286,6 @@
{ IsBackground = true };
updateSelectedMusicThread.Start();
}
- /// <summary>
- /// 鎺ㄩ�佹挱鏀惧懡浠�
- /// </summary>
- /// <param name="musicInfo">鎾斁闊充箰</param>
- /// <param name="listName">鍒楄〃鍚嶇О</param>
- /// <param name="musicList">鎺ㄩ�佸垪琛�(榛樿鎺�50棣�)</param>
- public void PushList(MusicInfo musicInfo, string listName, List<MusicInfo> musicList)
- {
-
- //鏈�澶у彂閫佺殑鏉℃暟
- int maxCount = 50;
- //鎵惧嚭褰撳墠鐐瑰嚮闊充箰鐨勭储寮�
- int statIndex = musicList.FindIndex((obj) => { return obj == musicInfo; });
- //鐐瑰嚮鍚庨潰杩樻湁澶氬皯鏉¢煶涔�
- int count = musicList.Count - statIndex;
- int endIndex = 0;
- if (maxCount < count)
- {
- //濡傛灉鍚庨潰鐨勯煶涔愬ぇ浜庢渶澶ф暟锛岃缃悗闈㈡暟鎹殑鏈�澶х储寮�
- endIndex = statIndex + maxCount - 1;
- }
- else
- {
- //濡傛灉鍚庨潰鏁版嵁涓嶅锛屽氨鐢ㄦ�绘暟鍑忓幓鏈�澶ф潯鏁帮紝寰楀埌寮�濮嬬储寮�
- statIndex = musicList.Count - maxCount - 1;
- endIndex = musicList.Count - 1;
- }
- //濡傛灉寮�濮嬬储寮曞皬浜�0锛岄偅灏辫缃负绗竴鏉¢煶涔�
- if (statIndex < 0)
- {
- statIndex = 0;
- }
-
- StringBuilder sb = new StringBuilder();
- sb.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
- 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:CreateQueue xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">");
- sb.AppendLine("<QueueContext><?xml version=\"1.0\"?>");
- sb.AppendLine("<PlayList>");
- sb.AppendLine("<ListName>DLNA" + listName + "</ListName>");
- sb.AppendLine("<ListInfo>");
- sb.AppendLine("<Radio>0</Radio>");//
- sb.AppendLine("<SourceName>UPnPServer</SourceName>");//
- sb.AppendLine("<MarkSearch>0</MarkSearch>");
- sb.AppendLine("<TrackNumber>" + (endIndex - statIndex + 1) + "</TrackNumber>");
- sb.AppendLine("<Quality>0</Quality>");
- sb.AppendLine("<UpdateTime>5367</UpdateTime>");
- sb.AppendLine("<LastPlayIndex>2</LastPlayIndex>");
- sb.AppendLine("<SwitchPageMode>0</SwitchPageMode>");
- sb.AppendLine("<CurrentPage>0</CurrentPage>");
- sb.AppendLine("<TotalPages>0</TotalPages>");
- sb.AppendLine("</ListInfo>");
- sb.AppendLine("<Tracks>");
-
- int number = 1;
-
- for (int i = statIndex, Tracknumber = 1; i <= endIndex; i++, Tracknumber++)
- {
- var tempMusicInfo = musicList[i];
-
- if (musicInfo == tempMusicInfo)
- {
- number = Tracknumber;
- }
-
- if (tempMusicInfo.SourceType == "Local")
- {
- tempMusicInfo.URL = "http://" + new Shared.Net.NetWiFi().IpAddress + ":" + com.hdl.on.Server.Port + "/" + tempMusicInfo.ID;
- }
-
-
- sb.AppendLine("<Track" + Tracknumber + ">");
- sb.AppendLine("<URL>" + tempMusicInfo.URL + "</URL>");
- sb.AppendLine("<Metadata>&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;");
- sb.AppendLine("&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:song=&quot;www.wiimu.com/song/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;");
- sb.AppendLine("&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;");
- sb.AppendLine("&lt;item id=&quot;0&quot;&gt;");
- sb.AppendLine("&lt;song:subid&gt;&lt;/song:subid&gt;");
- sb.AppendLine("&lt;song:description&gt;unknown&lt;/song:description&gt;");
- sb.AppendLine("&lt;song:skiplimit&gt;6&lt;/song:skiplimit&gt;");
- sb.AppendLine("&lt;song:id&gt;" + tempMusicInfo.ID + "&lt;/song:id&gt;");
- sb.AppendLine("&lt;song:like&gt;0&lt;/song:like&gt;");
- sb.AppendLine("&lt;song:singerid&gt;0&lt;/song:singerid&gt;");
- sb.AppendLine("&lt;song:albumid&gt;" + tempMusicInfo.AlbumId + "&lt;/song:albumid&gt;");
-
- sb.AppendLine("&lt;res protocolInfo=&quot;http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;&quot; duration=&quot;" + "0:0:0.0" + "&quot;&gt;" + tempMusicInfo.URL + "&lt;/res&gt;");
-
- 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;");
- sb.AppendLine("&lt;upnp:artist&gt;" + listName + "&lt;/upnp:artist&gt;");
- sb.AppendLine("&lt;upnp:album&gt;" + tempMusicInfo.Album + "&lt;/upnp:album&gt;");
- sb.AppendLine("&lt;upnp:albumArtURI&gt;unknown&lt;/upnp:albumArtURI&gt;");
- sb.AppendLine("&lt;/item&gt;");
- sb.AppendLine("&lt;/DIDL-Lite&gt;");
- sb.AppendLine("</Metadata>");
- sb.AppendLine("<Id>" + tempMusicInfo.ID + "</Id>");
- sb.AppendLine("<Source>STATION-NETWORK</Source>");//UPnPServer
- sb.AppendLine("<Key>" + tempMusicInfo.URL + "</Key>");
- sb.AppendLine("</Track" + Tracknumber + ">");
- }
- sb.AppendLine("</Tracks>");
- sb.AppendLine("</PlayList>");
- sb.AppendLine("</QueueContext>");
- sb.AppendLine("</u:CreateQueue>");
- sb.AppendLine("</s:Body>");
- sb.AppendLine("</s:Envelope>");
-
- SendMusicLists(A31MusicModel.Current.IPAddress, A31MusicModel.Current.Port, "CreateQueue", sb.ToString());
-
- StringBuilder playString = new StringBuilder();
- playString.AppendLine("<?xml version=\"1.0\" encoding=\"utf-8\"?>");
- playString.AppendLine("<s:Envelope s:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:s=\"http://schemas.xmlsoap.org/soap/envelope/\">");
- playString.AppendLine("<s:Body>");
- playString.AppendLine("<u:PlayQueueWithIndex xmlns:u=\"urn:schemas-wiimu-com:service:PlayQueue:1\">");
- playString.AppendLine("<QueueName>DLNA" + listName + "</QueueName>");
- playString.AppendLine("<Index>" + number + "</Index>");
- playString.AppendLine("</u:PlayQueueWithIndex>");
- playString.AppendLine("</s:Body>");
- playString.AppendLine("</s:Envelope>");
-
- Play(A31MusicModel.Current.IPAddress, A31MusicModel.Current.Port, playString.ToString());
- }
-
- 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 + "\"");
- webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\"");
- try
- {
- 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
- {
-
- }
- }
-
- 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\"");
- webClient.Headers.Add("CONTENT-TYPE", "text/xml; charset=\"utf-8\"");
- try
- {
- byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(info));
- var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length);
- }
- catch
- {
-
- }
- }
+
}
}
--
Gitblit v1.8.0