陈嘉乐
2020-05-28 05fd07b753b9cc043b48569d514af3d829bd039c
2020-05-28-1
10个文件已修改
354 ■■■■ 已修改文件
.DS_Store 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HDL_APP_Project/xs/UserPrefs.xml 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HDL_APP_Project/xs/sqlite3/storage.ide 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm 补丁 | 查看 | 原始文档 | blame | 历史
.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/Music/A31LoveList.cs 284 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/Music/A31LoveMusicList.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/Music/A31MusicSourcePage.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/Music/A31MyList.cs 28 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
HDL_ON/UI/Music/A31PlayMusicPage.cs 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.DS_Store
Binary files differ
.vs/HDL_APP_Project/xs/UserPrefs.xml
@@ -1,16 +1,16 @@
<Properties StartupConfiguration="{09712674-2A38-407B-B1E2-560B2C352F9A}|Default">
  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/Music/View/MusicView.cs">
  <MonoDevelop.Ide.Workbench ActiveDocument="HDL_ON/UI/Music/MusicMain.cs">
    <Files>
      <File FileName="HDL_ON/UI/Music/A31PlayMusicPage.cs" Line="494" Column="37" />
      <File FileName="../旧版本Music/MyMusic.cs" Line="385" Column="21" />
      <File FileName="HDL_ON/UI/Music/A31MusicModel.cs" Line="176" Column="1" />
      <File FileName="HDL_ON/UI/Music/A31USBMusicList.cs" Line="91" Column="58" />
      <File FileName="HDL_ON/UI/Music/A31MyList.cs" Line="257" Column="30" />
      <File FileName="HDL_ON/UI/Music/A31MyListMusic.cs" Line="207" Column="61" />
      <File FileName="HDL_ON/UI/Music/A31MusicSourcePage.cs" Line="204" Column="40" />
      <File FileName="HDL_ON/UI/Music/MusicMain.cs" Line="215" Column="28" />
      <File FileName="HDL_ON/UI/Music/SendMethod.cs" Line="298" Column="23" />
      <File FileName="HDL_ON/UI/Music/View/MusicView.cs" Line="102" Column="23" />
      <File FileName="HDL_ON/UI/Music/A31PlayMusicPage.cs" Line="545" Column="1" />
      <File FileName="../旧版本Music/MyMusic.cs" />
      <File FileName="HDL_ON/UI/Music/A31MusicModel.cs" Line="136" Column="71" />
      <File FileName="HDL_ON/UI/Music/A31MyList.cs" Line="329" Column="75" />
      <File FileName="HDL_ON/UI/Music/A31MusicSourcePage.cs" Line="208" Column="22" />
      <File FileName="HDL_ON/UI/Music/A31LoveList.cs" Line="172" Column="14" />
      <File FileName="HDL_ON/UI/Music/A31LoveMusicList.cs" Line="347" Column="61" />
      <File FileName="HDL_ON/UI/Music/A31LoveRadioList.cs" Line="49" Column="10" />
      <File FileName="HDL_ON/UI/Music/A31MyListMusic.cs" Line="395" Column="46" />
      <File FileName="HDL_ON/UI/Music/MusicMain.cs" Line="1" Column="1" />
    </Files>
    <Pads>
      <Pad Id="ProjectPad">
@@ -20,16 +20,8 @@
              <Node name="Common" expanded="True" />
              <Node name="UI" expanded="True">
                <Node name="Music" expanded="True">
                  <Node name="View" expanded="True">
                    <Node name="MusicView.cs" selected="True" />
                  </Node>
                </Node>
              </Node>
            </Node>
            <Node name="HDL-ON_Android" expanded="True">
              <Node name="Assets" expanded="True">
                <Node name="Phone" expanded="True">
                  <Node name="MusicIcon" expanded="True" />
                  <Node name="View" expanded="True" />
                  <Node name="MusicMain.cs" selected="True" />
                </Node>
              </Node>
            </Node>
.vs/HDL_APP_Project/xs/sqlite3/storage.ide
Binary files differ
.vs/HDL_APP_Project/xs/sqlite3/storage.ide-shm
Binary files differ
.vs/HDL_APP_Project/xs/sqlite3/storage.ide-wal
Binary files differ
HDL_ON/UI/Music/A31LoveList.cs
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Text;
using Shared;
namespace HDL_ON.UI.Music
{
@@ -20,10 +21,10 @@
            topView.topNameBtn.TextID = StringId.myLove;
            topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
            {
                //if (updateSelectedMusicThread != null || updateSelectedMusicThread.IsAlive)
                //{
                //    updateSelectedMusicThread.Abort();
                //}
                if (updateSelectedMusicThread != null || updateSelectedMusicThread.IsAlive)
                {
                    updateSelectedMusicThread.Abort();
                }
                this.RemoveFromParent();
            };
@@ -38,7 +39,9 @@
            FileView();
            #endregion
        }
        /// <summary>
        /// 加载文件夹View的方法
        /// </summary>
        void FileView()
        {
            for (int i = 0; i < 2; i++)
@@ -72,10 +75,7 @@
                };
                addFlieRow.AddChidren(playIconBtn);
                playIconBtn.MouseUpEventHandler += (sender, e) =>
                {
                    //点击按钮随机播放音乐
                };
                //文件名控件
                Button fileNameBtn = new Button
                {
@@ -92,13 +92,30 @@
                {
                    fileIconBtn.UnSelectedImagePath = "MusicIcon/loveMusic.png";
                    fileNameBtn.TextID = StringId.a31Music;
                    playIconBtn.Tag = Language.StringByID(StringId.a31Music);//记录列表名
                }
                else
                {
                    fileIconBtn.UnSelectedImagePath = "MusicIcon/loveRadio.png";
                    fileNameBtn.TextID = StringId.radioLove;
                    playIconBtn.Tag = Language.StringByID(StringId.radioLove);//记录列表名
                }
                //点击按钮随机播放音乐
                playIconBtn.MouseUpEventHandler += (sender, e) =>
                {
                    //点击按钮随机播放音乐
                    if (fileNameBtn.Text == Language.StringByID(StringId.a31Music))
                    {
                        ///喜爱音乐列表
                        SelectedPaly(fileNameBtn.Text, A31MusicModel.Current.LoveMusicInfoList, playIconBtn);
                    }
                    else
                    {
                        ///喜爱电台列表
                        SelectedPaly(fileNameBtn.Text, A31MusicModel.Current.LoveRadioInfoList, playIconBtn);
                    }
                };
                Button clickBtn = new Button
                {
                    X = fileIconBtn.Right + Application.GetRealWidth(16),
@@ -131,5 +148,254 @@
            }
        }
        /// <summary>
        /// 暂停/播放图标点击播放
        /// </summary>
        /// <param name="listName"></param>
        /// <param name="listMusic"></param>
        /// <param name="playIconBtn"></param>
        void SelectedPaly(string listName, List<MusicInfo> listMusic, Button playIconBtn)
        {
            ///查找当前播放音乐是否这个列表
            if (playIconBtn.IsSelected)
            {
                if (listName == A31MusicModel.Current.A31PlayStatus.Artist && A31MusicModel.Current.A31PlayStatus.status == "play")
                {
                    SendMethod.Pause(A31MusicModel.Current);
                    A31MusicModel.Current.A31PlayStatus.status = "pause";
                }
            }
            else
            {
                if (listMusic.Count == 0)
                {
                    return;
                }
                if (listName == A31MusicModel.Current.A31PlayStatus.Artist && A31MusicModel.Current.A31PlayStatus.status != "play")
                {
                    SendMethod.Play(A31MusicModel.Current);
                    A31MusicModel.Current.A31PlayStatus.status = "play";
                }
                else
                {
                    ///取随机数;
                    var ra = new Random { }.Next(0, listMusic.Count);
                    ///查找当前的音乐;
                    var songs = listMusic[ra];
                    //点击按钮随机播放音乐
                    System.Threading.Tasks.Task.Run(() =>
                    {
                        System.Threading.Thread.Sleep(50);
                        Application.RunOnMainThread(() =>
                        {
                            //移除界面
                            System.Threading.Tasks.Task.Run(() =>
                            {
                                PushList(songs, listName, listMusic);
                            });
                        });
                    });
                }
            }
        }
        System.Threading.Thread updateSelectedMusicThread;
        /// <summary>
        /// 定时更新文件夹播放状态
        /// </summary>
        public void UpdateSelectedFile()
        {
            updateSelectedMusicThread = new System.Threading.Thread(() =>
            {
                while (this.Parent != null)
                {
                    System.Threading.Thread.Sleep(1000);
                    Application.RunOnMainThread(() =>
                    {
                        try
                        {
                            for (int i = 0; i < middViewLayout.ChildrenCount; i++)
                            {
                                RowLayout view = (RowLayout)middViewLayout.GetChildren(i);
                                var playBtn = (Button)view.GetChildren(1);//直接FrameLayout父控件找到该控件Button
                                ///查找当前播放音乐是否这个列表
                                if (A31MusicModel.Current.A31PlayStatus.Artist == playBtn.Tag.ToString() && A31MusicModel.Current.A31PlayStatus.status == "play")
                                {
                                    playBtn.IsSelected = true;
                                }
                                else
                                {
                                    playBtn.IsSelected = false;
                                }
                            }
                        }
                        catch { }
                    });
                }
            })
            { 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>&lt;?xml version=\"1.0\"?&gt;");
            sb.AppendLine("&lt;PlayList&gt;");
            sb.AppendLine("&lt;ListName&gt;DLNA" + listName + "&lt;/ListName&gt;");
            sb.AppendLine("&lt;ListInfo&gt;");
            sb.AppendLine("&lt;Radio&gt;0&lt;/Radio&gt;");//
            sb.AppendLine("&lt;SourceName&gt;UPnPServer&lt;/SourceName&gt;");//
            sb.AppendLine("&lt;MarkSearch&gt;0&lt;/MarkSearch&gt;");
            sb.AppendLine("&lt;TrackNumber&gt;" + (endIndex - statIndex + 1) + "&lt;/TrackNumber&gt;");
            sb.AppendLine("&lt;Quality&gt;0&lt;/Quality&gt;");
            sb.AppendLine("&lt;UpdateTime&gt;5367&lt;/UpdateTime&gt;");
            sb.AppendLine("&lt;LastPlayIndex&gt;2&lt;/LastPlayIndex&gt;");
            sb.AppendLine("&lt;SwitchPageMode&gt;0&lt;/SwitchPageMode&gt;");
            sb.AppendLine("&lt;CurrentPage&gt;0&lt;/CurrentPage&gt;");
            sb.AppendLine("&lt;TotalPages&gt;0&lt;/TotalPages&gt;");
            sb.AppendLine("&lt;/ListInfo&gt;");
            sb.AppendLine("&lt;Tracks&gt;");
            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("&lt;Track" + Tracknumber + "&gt;");
                sb.AppendLine("&lt;URL&gt;" + tempMusicInfo.URL + "&lt;/URL&gt;");
                sb.AppendLine("&lt;Metadata&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;");
                sb.AppendLine("&amp;lt;DIDL-Lite xmlns:dc=&amp;quot;http://purl.org/dc/elements/1.1/&amp;quot; xmlns:upnp=&amp;quot;urn:schemas-upnp-org:metadata-1-0/upnp/&amp;quot; xmlns:song=&amp;quot;www.wiimu.com/song/&amp;quot; xmlns=&amp;quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&amp;quot;&amp;gt;");
                sb.AppendLine("&amp;lt;upnp:class&amp;gt;object.item.audioItem.musicTrack&amp;lt;/upnp:class&amp;gt;");
                sb.AppendLine("&amp;lt;item id=&amp;quot;0&amp;quot;&amp;gt;");
                sb.AppendLine("&amp;lt;song:subid&amp;gt;&amp;lt;/song:subid&amp;gt;");
                sb.AppendLine("&amp;lt;song:description&amp;gt;unknown&amp;lt;/song:description&amp;gt;");
                sb.AppendLine("&amp;lt;song:skiplimit&amp;gt;6&amp;lt;/song:skiplimit&amp;gt;");
                sb.AppendLine("&amp;lt;song:id&amp;gt;" + tempMusicInfo.ID + "&amp;lt;/song:id&amp;gt;");
                sb.AppendLine("&amp;lt;song:like&amp;gt;0&amp;lt;/song:like&amp;gt;");
                sb.AppendLine("&amp;lt;song:singerid&amp;gt;0&amp;lt;/song:singerid&amp;gt;");
                sb.AppendLine("&amp;lt;song:albumid&amp;gt;" + tempMusicInfo.AlbumId + "&amp;lt;/song:albumid&amp;gt;");
                sb.AppendLine("&amp;lt;res protocolInfo=&amp;quot;http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;&amp;quot; duration=&amp;quot;" + "0:0:0.0" + "&amp;quot;&amp;gt;" + tempMusicInfo.URL + "&amp;lt;/res&amp;gt;");
                sb.AppendLine("&amp;lt;dc:title&amp;gt;" + tempMusicInfo.Title + "&amp;lt;/dc:title&amp;gt;");
                sb.AppendLine("&amp;lt;dc:creator&amp;gt;DJ Sanny J&amp;lt;/dc:creator&amp;gt;");
                sb.AppendLine("&amp;lt;upnp:artist&amp;gt;" + listName + "&amp;lt;/upnp:artist&amp;gt;");
                sb.AppendLine("&amp;lt;upnp:album&amp;gt;" + tempMusicInfo.Album + "&amp;lt;/upnp:album&amp;gt;");
                sb.AppendLine("&amp;lt;upnp:albumArtURI&amp;gt;unknown&amp;lt;/upnp:albumArtURI&amp;gt;");
                sb.AppendLine("&amp;lt;/item&amp;gt;");
                sb.AppendLine("&amp;lt;/DIDL-Lite&amp;gt;");
                sb.AppendLine("&lt;/Metadata&gt;");
                sb.AppendLine("&lt;Id&gt;" + tempMusicInfo.ID + "&lt;/Id&gt;");
                sb.AppendLine("&lt;Source&gt;STATION-NETWORK&lt;/Source&gt;");//UPnPServer
                sb.AppendLine("&lt;Key&gt;" + tempMusicInfo.URL + "&lt;/Key&gt;");
                sb.AppendLine("&lt;/Track" + Tracknumber + "&gt;");
            }
            sb.AppendLine("&lt;/Tracks&gt;");
            sb.AppendLine("&lt;/PlayList&gt;");
            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
            {
            }
        }
    }
}  
HDL_ON/UI/Music/A31LoveMusicList.cs
@@ -340,7 +340,7 @@
                sb.AppendLine("&amp;lt;dc:title&amp;gt;" + tempMusicInfo.Title + "&amp;lt;/dc:title&amp;gt;");
                sb.AppendLine("&amp;lt;dc:creator&amp;gt;DJ Sanny J&amp;lt;/dc:creator&amp;gt;");
                sb.AppendLine("&amp;lt;upnp:artist&amp;gt;" + tempMusicInfo.Artist + "&amp;lt;/upnp:artist&amp;gt;");
                sb.AppendLine("&amp;lt;upnp:artist&amp;gt;" + listName + "&amp;lt;/upnp:artist&amp;gt;");
                sb.AppendLine("&amp;lt;upnp:album&amp;gt;" + tempMusicInfo.Album + "&amp;lt;/upnp:album&amp;gt;");
                sb.AppendLine("&amp;lt;upnp:albumArtURI&amp;gt;unknown&amp;lt;/upnp:albumArtURI&amp;gt;");
                sb.AppendLine("&amp;lt;/item&amp;gt;");
HDL_ON/UI/Music/A31MusicSourcePage.cs
@@ -194,6 +194,7 @@
                MainPage.BasePageView.AddChidren(a31LoveList);
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                a31LoveList.Show();
                a31LoveList.UpdateSelectedFile();
            };
            ///我的列表事件
            myListView.clickBtn.MouseUpEventHandler += (sender, e) =>
@@ -201,7 +202,7 @@
                A31MyList a31MyList = new A31MyList();
                MainPage.BasePageView.AddChidren(a31MyList);
                a31MyList.Show();
                a31MyList.UpdateSelectedMusic();
                a31MyList.UpdateSelectedFile();
                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
            };
            ///本地音乐事件
HDL_ON/UI/Music/A31MyList.cs
@@ -68,7 +68,7 @@
        }
        /// <summary>
        ///
        /// 加载文件夹View的方法
        /// </summary>
        void FileView()
        {
@@ -109,16 +109,12 @@
                playIconBtn.MouseUpEventHandler = (sender, e) =>
                {
                    if (list.MusicInfoList.Count == 0)
                    {
                        return;
                    }
                    ///查找当前播放音乐是否这个列表
                    var music = list.MusicInfoList.Find((c) => (c.URL == A31MusicModel.Current.A31PlayStatus.TrackURL) && (list.ListName == A31MusicModel.Current.A31PlayStatus.Artist));
                    if (playIconBtn.IsSelected)
                    {
                        if (music != null && A31MusicModel.Current.A31PlayStatus.status == "play")
                        if (list.ListName == A31MusicModel.Current.A31PlayStatus.Artist && A31MusicModel.Current.A31PlayStatus.status == "play")
                        {
                            SendMethod.Pause(A31MusicModel.Current);
@@ -128,7 +124,12 @@
                    }
                    else
                    {
                        if (music != null && A31MusicModel.Current.A31PlayStatus.status != "play")
                        if (list.MusicInfoList.Count == 0)
                        {
                            return;
                        }
                        if (list.ListName == A31MusicModel.Current.A31PlayStatus.Artist && A31MusicModel.Current.A31PlayStatus.status != "play")
                        {
                            SendMethod.Play(A31MusicModel.Current);
                            A31MusicModel.Current.A31PlayStatus.status = "play";
@@ -239,10 +240,10 @@
            }
        }
        /// <summary>
        /// 定时更新当前播放音乐
        /// 定时更新文件夹播放状态
        /// </summary>
        System.Threading.Thread updateSelectedMusicThread;
        public void UpdateSelectedMusic()
        public void UpdateSelectedFile()
        {
            updateSelectedMusicThread = new System.Threading.Thread(() =>
            {
@@ -259,8 +260,7 @@
                                var playBtn = (Button)view.GetChildren(1);//直接FrameLayout父控件找到该控件Button
                                var listIfon = playBtn.Tag as FileListInfo;//强制转换为FileListInfo类型;
                                ///查找当前播放音乐是否这个列表
                                var musics = listIfon.MusicInfoList.Find((c) => c.URL == A31MusicModel.Current.A31PlayStatus.TrackURL);
                                if (musics!=null&&A31MusicModel.Current.A31PlayStatus.Artist == listIfon.ListName && A31MusicModel.Current.A31PlayStatus.status == "play")
                                if (A31MusicModel.Current.A31PlayStatus.Artist == listIfon.ListName && A31MusicModel.Current.A31PlayStatus.status == "play")
                                {
                                    playBtn.IsSelected = true;
                                }
@@ -274,10 +274,10 @@
                    });
                }
            });
            })
            { IsBackground = true };
            updateSelectedMusicThread.Start();
        }
        /// <summary>
        /// 推送播放命令
        /// </summary>
HDL_ON/UI/Music/A31PlayMusicPage.cs
@@ -833,7 +833,8 @@
                    });
                }
            });
            })
            { IsBackground = true };
            updateSelectedMusicThread.Start();
        }
    }