| | |
| | | topView.clickBackBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | if (updateSelectedMusicThread == null || updateSelectedMusicThread.IsAlive) |
| | | if (updateSelectedMusicThread != null) |
| | | { |
| | | updateSelectedMusicThread.Abort(); |
| | | try |
| | | { |
| | | if (updateSelectedMusicThread.IsAlive) |
| | | { |
| | | updateSelectedMusicThread.Abort(); |
| | | ///关闭线程 |
| | | } |
| | | } |
| | | catch { } |
| | | } |
| | | this.RemoveFromParent(); |
| | | }; |
| | |
| | | |
| | | } |
| | | /// <summary> |
| | | /// |
| | | /// 加载文件夹View的方法 |
| | | /// </summary> |
| | | void FileView() |
| | | { |
| | |
| | | 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 |
| | |
| | | } |
| | | } |
| | | /// <summary> |
| | | /// 定时更新当前播放音乐 |
| | | /// 定时更新文件夹播放状态 |
| | | /// </summary> |
| | | System.Threading.Thread updateSelectedMusicThread; |
| | | public void UpdateSelectedMusic() |
| | | public void UpdateSelectedFile() |
| | | { |
| | | updateSelectedMusicThread = new System.Threading.Thread(() => |
| | | { |
| | |
| | | { |
| | | 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; |
| | | } |
| | |
| | | |
| | | }); |
| | | } |
| | | }); |
| | | }) |
| | | { IsBackground = true }; |
| | | updateSelectedMusicThread.Start(); |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 推送播放命令 |
| | | /// </summary> |