陈嘉乐
2020-06-16 7167334c0e89dd84827d59e726123d14776e3a09
HDL_ON/UI/Music/A31MyList.cs
@@ -20,9 +20,17 @@
            topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
            {
                if (updateSelectedMusicThread == null || updateSelectedMusicThread.IsAlive)
                if (updateSelectedMusicThread != null)
                {
                    updateSelectedMusicThread.Abort();
                    try
                    {
                        if (updateSelectedMusicThread.IsAlive)
                        {
                            updateSelectedMusicThread.Abort();
                            ///关闭线程
                        }
                    }
                    catch { }
                }
                this.RemoveFromParent();
            };
@@ -68,7 +76,7 @@
        }
        /// <summary>
        ///
        /// 加载文件夹View的方法
        /// </summary>
        void FileView()
        {
@@ -102,33 +110,61 @@
                    Height = Application.GetMinRealAverage(24),
                    UnSelectedImagePath = "MusicIcon/filePause.png",
                    SelectedImagePath = "MusicIcon/filePlay.png",
                    Tag= list.ListName,
                    Tag= list,
                };
                addFlieRow.AddChidren(playIconBtn);
                playIconBtn.MouseUpEventHandler += (sender, e) =>
                playIconBtn.MouseUpEventHandler = (sender, e) =>
                {
                    if (list.MusicInfoList.Count == 0)
                    ///查找当前播放音乐是否这个列表
                    if (playIconBtn.IsSelected)
                    {
                        return;
                    }
                    ///取随机数;
                    var ra = new Random { }.Next(0, list.MusicInfoList.Count);
                    ///查找当前的音乐;
                    var songs = list.MusicInfoList[ra];
                    //点击按钮随机播放音乐
                    System.Threading.Tasks.Task.Run(() =>
                    {
                        System.Threading.Thread.Sleep(50);
                        Application.RunOnMainThread(() =>
                        if (list.ListName == A31MusicModel.Current.A31PlayStatus.Artist && A31MusicModel.Current.A31PlayStatus.status == "play")
                        {
                            //移除界面
                            SendMethod.Pause(A31MusicModel.Current);
                            A31MusicModel.Current.A31PlayStatus.status = "pause";
                        }
                    }
                    else
                    {
                        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";
                        }
                        else
                        {
                            ///取随机数;
                            var ra = new Random { }.Next(0, list.MusicInfoList.Count);
                            ///查找当前的音乐;
                            var songs = list.MusicInfoList[ra];
                            //点击按钮随机播放音乐
                            System.Threading.Tasks.Task.Run(() =>
                            {
                                PushList(songs, list.ListName, list.MusicInfoList);
                                System.Threading.Thread.Sleep(50);
                                Application.RunOnMainThread(() =>
                                {
                                    //移除界面
                                    System.Threading.Tasks.Task.Run(() =>
                                    {
                                        PushList(songs, list.ListName, list.MusicInfoList);
                                    });
                                });
                            });
                        });
                    });
                        }
                    }
                };
                //文件名控件
                Button fileNameBtn = new Button
@@ -212,10 +248,10 @@
            }
        }
        /// <summary>
        /// 定时更新当前播放音乐
        /// 定时更新文件夹播放状态
        /// </summary>
        System.Threading.Thread updateSelectedMusicThread;
        public void UpdateSelectedMusic()
        public void UpdateSelectedFile()
        {
            updateSelectedMusicThread = new System.Threading.Thread(() =>
            {
@@ -230,7 +266,9 @@
                            {
                                RowLayout view = (RowLayout)middViewLayout.GetChildren(i);
                                var playBtn = (Button)view.GetChildren(1);//直接FrameLayout父控件找到该控件Button
                                if (A31MusicModel.Current.A31PlayStatus.Artist == playBtn.Tag.ToString())
                                var listIfon = playBtn.Tag as FileListInfo;//强制转换为FileListInfo类型;
                                ///查找当前播放音乐是否这个列表
                                if (A31MusicModel.Current.A31PlayStatus.Artist == listIfon.ListName && A31MusicModel.Current.A31PlayStatus.status == "play")
                                {
                                    playBtn.IsSelected = true;
                                }
@@ -244,10 +282,10 @@
                    });
                }
            });
            })
            { IsBackground = true };
            updateSelectedMusicThread.Start();
        }
        /// <summary>
        /// 推送播放命令
        /// </summary>