From 7167334c0e89dd84827d59e726123d14776e3a09 Mon Sep 17 00:00:00 2001 From: 陈嘉乐 <cjl@hdlchina.com.cn> Date: 星期二, 16 六月 2020 11:14:13 +0800 Subject: [PATCH] 2020-06-16-1 --- HDL_ON/UI/Music/A31MyList.cs | 90 ++++++++++++++++++++++++++++++++------------- 1 files changed, 64 insertions(+), 26 deletions(-) diff --git a/HDL_ON/UI/Music/A31MyList.cs b/HDL_ON/UI/Music/A31MyList.cs index a58e1f3..4cc95ef 100644 --- a/HDL_ON/UI/Music/A31MyList.cs +++ b/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> - /// + /// 鍔犺浇鏂囦欢澶筕iew鐨勬柟娉� /// </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;//寮哄埗杞崲涓篎ileListInfo绫诲瀷; + ///鏌ユ壘褰撳墠鎾斁闊充箰鏄惁杩欎釜鍒楄〃 + 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> -- Gitblit v1.8.0