From 024703246120fee33e2f6c2f662383f1facdecd2 Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期四, 14 四月 2022 15:35:00 +0800
Subject: [PATCH] 2022年04月14日15:34:55
---
HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs | 124 +++++++++++++++++++++++++++--------------
1 files changed, 82 insertions(+), 42 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs
index 90a7991..d0d4d23 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs
@@ -70,7 +70,9 @@
///鍔犺浇鎾斁闊充箰鐣岄潰鐨勬帶浠舵柟娉�
playView.viewFrameLayout(middLayout);
#endregion
- #region ---鎺т欢鐨勭偣鍑讳簨浠�---
+
+ #region ---鐣岄潰鐐瑰嚮浜嬩欢---
+ playView.collectIconBtn.Visible = false;//鍏堟殏鏃堕殣钘忔敹钘忓姛鑳�
//鏀惰棌鍥炬爣浜嬩欢
playView.collectIconBtn.MouseUpEventHandler += (sender, e) =>
{
@@ -90,7 +92,8 @@
{
string modeValueString = string.Empty;
string msg = Language.StringByID(StringId.switchTo);
- switch (A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.mode))
+ string modeKeyValue = A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.mode);
+ switch (modeKeyValue)
{
//list_cycle鍒楄〃寰幆锛宻ingle_cycle鍗曟洸寰幆锛宺andom闅忔満鎾斁;
case ValueProperty.list_cycle:
@@ -98,7 +101,6 @@
playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/single.png";
msg += Language.StringByID(StringId.singleMode);
break;
-
case ValueProperty.single_cycle:
modeValueString =ValueProperty.random;
playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/random.png";
@@ -109,6 +111,7 @@
playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/list.png";
msg += Language.StringByID(StringId.listMode);
break;
+
}
A31MusicModel.Current.functionMusic.SetAttrState(KeyProperty.mode, modeValueString);
new PublicAssmebly().TipMsgAutoClose(msg, false,1000);
@@ -154,8 +157,34 @@
///涓嬫媺鍒锋柊
myListView.verticalScrolViewLayout.BeginHeaderRefreshingAction += () =>
{
+ System.Threading.Tasks.Task.Run(() =>
+ {
+ try
+ {
+ A31MusicModel.Current.palyLists.Clear();
+ if (A31MusicModel.Current.palyLists.Count == 0)
+ {
+ SendMethod.mMethod.GetPalyList(A31MusicModel.Current.functionMusic);
+
+ }
+ }
+ catch
+ {
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ myListView.verticalScrolViewLayout.EndHeaderRefreshing();
+ myListView.verticalScrolViewLayout.RemoveAll();
+ var listName = A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.playlist_name);
+ var musicList = A31MusicModel.Current.GetSongList(listName);
+ A31SongPlay.SongListView(myListView.verticalScrolViewLayout, musicList, listName, myListView.popFra);
+ });
+ }
+ });
//缁撴潫鍒锋柊
- myListView.verticalScrolViewLayout.EndHeaderRefreshing();
+
};
///绉婚櫎鐣岄潰
EventHandler<MouseEventArgs> removeFromParentView = (sen, e1) =>
@@ -186,6 +215,8 @@
playView.volValueBtn.Text = playView.volSeekBar.Progress + "%";
if (startVolume != e)
{
+ ///鏇存柊鏈�鏂板��
+ A31MusicModel.ProgressDateTime = DateTime.Now;
startVolume = e;
A31MusicModel.Current.functionMusic.SetAttrState(KeyProperty.volume, startVolume);
Dictionary<string, string> dic = new Dictionary<string, string>();
@@ -203,7 +234,7 @@
A31MusicModel.Current.functionMusic.SetAttrState(KeyProperty.song_step,ValueProperty.down);
Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add(KeyProperty.song_step, ValueProperty.down);
+ dic.Add(KeyProperty.song_step, ValueProperty.up);
SendMethod.mMethod.SendControlCommand(A31MusicModel.Current.functionMusic, dic);
};
@@ -218,7 +249,8 @@
if (playView.playBtn.IsSelected)
{
playView.playBtn.IsSelected = false;
- status = ValueProperty.off;
+ status = ValueProperty.off;
+
}
else
{
@@ -243,25 +275,23 @@
{
playView.nextBtn.IsSelected = false;
};
- ///鐗╃悊鎸夐敭鐨勭偣鍑讳簨浠�
- Volume.VolumeChange = (volume) =>
- {
- if (Application.DeviceType == Device.Ios && A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.source) == "bluetooth")
- {
- return;
- }
- playView.volSeekBar.Progress = volume;
-
- if (startVolume != volume)
- {
- startVolume = volume;
- A31MusicModel.Current.functionMusic.SetAttrState(KeyProperty.volume, startVolume);
- Dictionary<string, string> dic = new Dictionary<string, string>();
- dic.Add(KeyProperty.volume, startVolume.ToString());
- SendMethod.mMethod.SendControlCommand(A31MusicModel.Current.functionMusic, dic);
- }
-
- };
+ /////鐗╃悊鎸夐敭鐨勭偣鍑讳簨浠�
+ //Volume.VolumeChange = (volume) =>
+ //{
+ // if (Application.DeviceType == Device.Ios && A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.source) == "bluetooth")
+ // {
+ // return;
+ // }
+ // playView.volSeekBar.Progress = volume;
+ // if (startVolume != volume)
+ // {
+ // startVolume = volume;
+ // A31MusicModel.Current.functionMusic.SetAttrState(KeyProperty.volume, startVolume);
+ // Dictionary<string, string> dic = new Dictionary<string, string>();
+ // dic.Add(KeyProperty.volume, startVolume.ToString());
+ // SendMethod.mMethod.SendControlCommand(A31MusicModel.Current.functionMusic, dic);
+ // }
+ //};
#endregion
}
/// <summary>
@@ -283,7 +313,7 @@
{
//鏇存柊鎬绘椂闂�
//鎬诲叡鏈夊灏戠
- int totalSecond = int.Parse(A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.song_time))/1000;
+ int totalSecond = int.Parse(A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.song_time));
//鍒嗛挓
int totalMusicMinute = totalSecond / 60;
//绉掗挓
@@ -363,8 +393,8 @@
// playView.volValueBtn.Text = A31MusicModel.Current.A31PlayStatus.vol + "%";
// }
//}
-
- if (1000 < (DateTime.Now - A31MusicModel.ProgressDateTime).TotalMilliseconds)
+ //涓轰簡闃叉闊抽噺鏉¤烦鍔�,寤堕暱鏇存柊鏃堕棿(澶氬姞1s)
+ if (2000 < (DateTime.Now - A31MusicModel.ProgressDateTime).TotalMilliseconds || A31MusicModel.ProgressDateTime==DateTime.MinValue)
{
//闊抽噺杩涘害鏉�;
playView.volSeekBar.Progress = int.Parse(A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.volume));
@@ -372,15 +402,31 @@
playView.volValueBtn.Text = A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.volume) + "%";
}
//鏇存柊鎾斁鍣ㄩ煶閲忕粰绯荤粺闊抽噺
- Volume.MusicVolume = playView.volSeekBar.Progress;
+ //Volume.MusicVolume = playView.volSeekBar.Progress;
//褰撳墠鎾斁闊充箰鏃堕棿
//鎸夐亾鐞嗕笉浼氫负绌猴紝GetAttrState("playing_time")鍊煎彲鑳戒负绌猴紝寮哄埗杞崲int.Parse(锛変細鍑虹幇寮傚父锛屼笉杩囦篃鍋氫簡寮傚父澶勭悊浜�
- int playSecond = int.Parse(A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.playing_time))+ (int)(DateTime.Now - A31MusicModel.Current.LastDateTime).TotalSeconds;
-
+ int playSecond = int.Parse(A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.playing_time));
+ //璇嗗埆闊充箰鐘舵�佹槸鍚﹀湪鎾斁鐘舵��
+ if (A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.on_off) == ValueProperty.on)
+ {
+ //闊充箰鍦ㄦ挱鏀炬椂锛屽啀璁$畻鎾斁鏃堕棿(鐜板湪鏃堕棿=鍘熸潵鏃堕棿+1绉�)
+ playSecond +=(int)(DateTime.Now - A31MusicModel.Current.LastDateTime).TotalSeconds;
+ ///姝屾洸璁板綍鏆傛椂鏃堕棿鍐欏叆缂撳瓨锛�
+ A31MusicModel.Current.functionMusic.SetAttrState(KeyProperty.playing_time, playSecond);
+ }
+ if (playSecond<=0)
+ {
+ ///鎾斁鏃堕棿涓嶈兘灏忎簬0锛�
+ playSecond = 0;
+ }
+ if (playSecond >=totalSecond)
+ {
+ ///鎾斁鏃堕棿涓嶈兘瓒呰繃鎬绘椂闂达紱
+ playSecond = totalSecond;
+ }
int playMusicMinute = playSecond / 60;
//绉掗挓
int playMusicSecond = playSecond % 60;
-
string playTime = (playMusicMinute.ToString().Length < 2 ? "0" + playMusicMinute.ToString() : playMusicMinute.ToString()) + ":" + (playMusicSecond.ToString().Length < 2 ? "0" + playMusicSecond.ToString() : playMusicSecond.ToString());
if (A31MusicModel.Current.functionMusic.GetAttrState(KeyProperty.on_off) == ValueProperty.on)
@@ -406,6 +452,9 @@
playView.playBtn.IsSelected = false;
//鍋滄鎾斁
playView.startTimeBtn.Text =playTime;
+ //playView.startTimeBtn.Text ="00:00";
+ ///姝屾洸璁板綍鏆傚仠鏃堕棿锛�<LastDateTime 璁$畻鏃堕棿鎾斁鏃堕棿鏈夌敤鍒�>
+ A31MusicModel.Current.LastDateTime = DateTime.Now;
}
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);
@@ -448,16 +497,7 @@
switch (A31MusicModel.Current.functionMusic.GetAttrState("source"))
{
-
- case "QPLAY"://QQ闊充箰
- playView.loveBtn.Alpha = 0.5f;
- playView.loveBtn.Enable = false;
- break;
- case "AIRPLAY"://閰风嫍闊充箰
- playView.loveBtn.Alpha = 0.5f;
- playView.loveBtn.Enable = false;
- playView.diyArcSeekBar.IsClickable = false;
- break;
+ //sdcard/audio_in/ftp/radio/bluetooth
case "SONGLIST-NETWORK"://鏈湴闊充箰
break;
case "SONGLIST-LOCAL"://USB
--
Gitblit v1.8.0