| | |
| | | /// </summary> |
| | | View.PlayView playView = new View.PlayView(); |
| | | TopView topView; |
| | | |
| | | |
| | | public void Show() |
| | | { |
| | | |
| | |
| | | string currModeKeyValue = A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.mode); |
| | | //获取音乐播放模式列表 |
| | | var attributes = A31MusicModel.Current.functionMusic.GetAttribute(KeyProperty.mode); |
| | | if (attributes==null) { |
| | | attributes=new FunctionAttributes(); |
| | | if (attributes == null) |
| | | { |
| | | attributes = new FunctionAttributes(); |
| | | } |
| | | var attributesList = attributes.value; |
| | | //找到当前播放模式索引值 |
| | | int currModeIndexe = attributesList.IndexOf(currModeKeyValue); |
| | | //记录选中的播放模式的索引值 |
| | | int count = 0; |
| | | if (currModeIndexe >= attributesList.Count-1) |
| | | if (currModeIndexe >= attributesList.Count - 1) |
| | | { |
| | | //重置索引值 |
| | | count = 0; |
| | |
| | | { |
| | | //list_cycle列表循环,single_cycle单曲循环,random随机播放; |
| | | case ValueProperty.list_cycle: |
| | | playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/list.png"; |
| | | playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/list.png"; |
| | | msg += Language.StringByID(StringId.listMode); |
| | | break; |
| | | case ValueProperty.single_cycle: |
| | |
| | | } |
| | | }); |
| | | //结束刷新 |
| | | |
| | | |
| | | }; |
| | | ///移除界面 |
| | | EventHandler<MouseEventArgs> removeFromParentView = (sen, e1) => |
| | |
| | | ///音量图标点击事件 |
| | | playView.volIconBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | |
| | | |
| | | }; |
| | | ///音量进度条点击事件 |
| | | int startVolume =0;//之前的音量 |
| | | int startVolume = 0;//之前的音量 |
| | | //int endVolume = 0;//现在的音量 |
| | | EventHandler<int> progressClick = (sender, e) => |
| | | { |
| | |
| | | { |
| | | playView.prevBtn.IsSelected = true; |
| | | |
| | | A31MusicModel.Current.functionMusic.SetAttrState(KeyProperty.song_step,ValueProperty.down); |
| | | A31MusicModel.Current.functionMusic.SetAttrState(KeyProperty.song_step, ValueProperty.down); |
| | | Dictionary<string, string> dic = new Dictionary<string, string>(); |
| | | dic.Add(KeyProperty.song_step, ValueProperty.up); |
| | | SendMethod.mMethod.SendControlCommand(A31MusicModel.Current.functionMusic, dic); |
| | |
| | | playView.prevBtn.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | playView.prevBtn.IsSelected = false; |
| | | }; |
| | | }; |
| | | ///暂停/播放点击事件 |
| | | playView.playBtn.MouseDownEventHandler += (sender, e) => |
| | | { |
| | |
| | | { |
| | | playView.playBtn.IsSelected = false; |
| | | status = ValueProperty.off; |
| | | |
| | | |
| | | } |
| | | else |
| | | { |
| | |
| | | playView.nextBtn.MouseDownEventHandler += (sender, e) => |
| | | { |
| | | playView.nextBtn.IsSelected = true; |
| | | A31MusicModel.Current.functionMusic.SetAttrState(KeyProperty.song_step,ValueProperty.down); |
| | | A31MusicModel.Current.functionMusic.SetAttrState(KeyProperty.song_step, ValueProperty.down); |
| | | Dictionary<string, string> dic = new Dictionary<string, string>(); |
| | | dic.Add(KeyProperty.song_step, ValueProperty.down); |
| | | SendMethod.mMethod.SendControlCommand(A31MusicModel.Current.functionMusic, dic); |
| | |
| | | //} |
| | | //显示播放器区域 |
| | | playView.regionBtn.Text = A31MusicModel.Current.functionMusic.GetRoomListName(); |
| | | //显示播放器收藏状态图标 |
| | | //显示播放器收藏状态 |
| | | if (A31MusicModel.Current.functionMusic.collect) |
| | | { |
| | | //收藏 |
| | | playView.collectIconBtn.IsSelected = true; |
| | | } |
| | | else |
| | | { |
| | | //不收藏 |
| | | playView.collectIconBtn.IsSelected = false; |
| | | } |
| | | //if (A31MusicModel.Current.A31PlayStatus.IsMute) |
| | |
| | | // } |
| | | //} |
| | | //为了防止音量条跳动,延长更新时间(多加1s) |
| | | if (2000 < (DateTime.Now - A31MusicModel.ProgressDateTime).TotalMilliseconds || A31MusicModel.ProgressDateTime==DateTime.MinValue) |
| | | if (2000 < (DateTime.Now - A31MusicModel.ProgressDateTime).TotalMilliseconds || A31MusicModel.ProgressDateTime == DateTime.MinValue) |
| | | { |
| | | //音量进度条; |
| | | //显示音量进度条值; |
| | | playView.volSeekBar.Progress = int.Parse(A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.volume)); |
| | | //显示当前音量值; |
| | | playView.volValueBtn.Text = A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.volume) + "%"; |
| | |
| | | if (A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.on_off) == ValueProperty.on) |
| | | { |
| | | //音乐在播放时,再计算播放时间(现在时间=原来时间+1秒) |
| | | playSecond +=(int)(DateTime.Now - A31MusicModel.Current.LastDateTime).TotalSeconds; |
| | | playSecond += (int)(DateTime.Now - A31MusicModel.Current.LastDateTime).TotalSeconds; |
| | | playSecond += 1;//表示加上等待的时间1s |
| | | ///歌曲记录暂时时间写入缓存; |
| | | A31MusicModel.Current.functionMusic.SetAttrState(KeyProperty.playing_time, playSecond); |
| | | } |
| | | if (playSecond<=0) |
| | | if (playSecond <= 0) |
| | | { |
| | | ///播放时间不能小于0; |
| | | playSecond = 0; |
| | | } |
| | | if (playSecond >=totalSecond) |
| | | if (playSecond >= totalSecond) |
| | | { |
| | | ///播放时间不能超过总时间; |
| | | playSecond = totalSecond; |
| | |
| | | int playMusicSecond = playSecond % 60; |
| | | //转化播放时间时间格式 |
| | | string playTime = (playMusicMinute.ToString().Length < 2 ? "0" + playMusicMinute.ToString() : playMusicMinute.ToString()) + ":" + (playMusicSecond.ToString().Length < 2 ? "0" + playMusicSecond.ToString() : playMusicSecond.ToString()); |
| | | |
| | | //显示播放时间 |
| | | playView.startTimeBtn.Text = playTime; |
| | | //显示播放状态 |
| | | if (A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.on_off) == ValueProperty.on) |
| | | { |
| | | //显示播放状态图标 |
| | | //播放 |
| | | playView.playBtn.IsSelected = true; |
| | | //显示播放时间 |
| | | playView.startTimeBtn.Text = playTime; |
| | | if (totalSecond == 0) |
| | | { |
| | | //显示歌曲进度条 |
| | | playView.diyArcSeekBar.Progress = 0; |
| | | } |
| | | else |
| | | { |
| | | //显示歌曲进度条 |
| | | playView.diyArcSeekBar.Progress = (int)(playSecond * 100.0 / totalSecond);//+1 |
| | | } |
| | | |
| | | |
| | | } |
| | | else |
| | | { |
| | | //显示播放状态图标 |
| | | //暂停 |
| | | playView.playBtn.IsSelected = false; |
| | | //停止播放 |
| | | playView.startTimeBtn.Text =playTime; |
| | | //playView.startTimeBtn.Text ="00:00"; |
| | | ///记录歌曲暂停时间;<LastDateTime 计算播放时间有用到> |
| | | A31MusicModel.Current.LastDateTime = DateTime.Now; |
| | | } |
| | | //显示进度条值 |
| | | if (totalSecond == 0) |
| | | { |
| | | //歌曲播放进度 |
| | | playView.diyArcSeekBar.Progress = 0; |
| | | } |
| | | else |
| | | { |
| | | //歌曲播放进度 |
| | | playView.diyArcSeekBar.Progress = (int)(playSecond * 100.0 / totalSecond);//+1 |
| | | } |
| | | //显示歌曲名称 |
| | | playView.songNameTextView.Text = A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.song_name) == null ? "Unkown" : A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.song_name); |
| | | //显示歌手名称 |
| | | playView.singerBtn.Text = A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.song_name) == null ? "Unkown" : A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.song_name); |
| | | //更新源的界面 |
| | | // showSourcePage(); |
| | | // showSourcePage(); |
| | | } |
| | | catch (Exception e) |
| | | { |
| | |
| | | void PlayListView(FrameLayout frameLayout, VerticalRefreshLayout verticalScrolViewLayout) |
| | | { |
| | | verticalScrolViewLayout.RemoveAll(); |
| | | //获取播放器名称 |
| | | var listName = A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.playlist_name); |
| | | //获取缓存歌曲列表 |
| | | var musicList = A31MusicModel.Current.GetSongList(listName); |
| | | if (musicList.Count == 0) |
| | | { |
| | |
| | | A31MusicModel.Current.palyLists.Clear(); |
| | | if (A31MusicModel.Current.palyLists.Count == 0) |
| | | { |
| | | //获取歌曲列表 |
| | | SendMethod.mMethod.GetPalyList(A31MusicModel.Current.functionMusic); |
| | | |
| | | } |
| | |
| | | { |
| | | UpdateThread.updateCurrMusicThread(frameLayout, middViewLayout, A31MusicModel.Current); |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | } |