From e2a009ca812c2f933e195c4276b79c34ed31862a Mon Sep 17 00:00:00 2001
From: wjc <1243177876@qq.com>
Date: 星期五, 17 十二月 2021 18:29:10 +0800
Subject: [PATCH] 2021-12-17-01
---
HDL_ON/UI/UI2/FuntionControlView/Music/View/MyListView.cs | 9
HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs | 2
HDL_ON/UI/UI2/1-HomePage/HomePage.cs | 81 +-
HDL_ON/UI/UI2/FuntionControlView/Music/A31Radio.cs | 8
HDL_ON/UI/UI2/FuntionControlView/Music/View/DialogView.cs | 8
HDL_ON/HDL_ON.projitems | 52 +-
HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs | 150 +++++
HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs | 12
HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicSourcePage.cs | 59 ++
HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs | 271 ++++------
HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicFileList.cs | 115 ++++
HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs | 7
HDL_ON/UI/UI2/FuntionControlView/Music/A31LocalMusicList.cs | 4
HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs | 4
HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs | 23
HDL_ON/UI/UI2/FuntionControlView/Music/A31USBMusicList.cs | 15
HDL_ON/UI/UI2/FuntionControlView/Music/UpdateThread.cs | 24
HDL_ON/UI/UI2/FuntionControlView/Music/A31MyList.cs | 2
HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveMusicList.cs | 4
HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs | 104 +++
HDL_ON/UI/UI2/FuntionControlView/Music/A31SongPlay.cs | 81 +++
HDL_ON/UI/UI2/FuntionControlView/Music/A31MyListMusic.cs | 4
HDL_ON/DAL/Server/NewAPI.cs | 6
HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs | 2
HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveList.cs | 4
HDL_ON/UI/UI2/FuntionControlView/Music/A31RadioList.cs | 4
HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs | 384 +++++----------
27 files changed, 852 insertions(+), 587 deletions(-)
diff --git a/HDL_ON/DAL/Server/NewAPI.cs b/HDL_ON/DAL/Server/NewAPI.cs
index 3314fee..d1d23bb 100644
--- a/HDL_ON/DAL/Server/NewAPI.cs
+++ b/HDL_ON/DAL/Server/NewAPI.cs
@@ -739,6 +739,12 @@
/// </summary>
public const string Api_Post_BindSourcePanel = "/home-wisdom/source/screen/home/bind";
+ #region 鈻� -- 闊充箰鐩稿叧鎺ュ彛_______________________________
+ /// <summary>
+ /// 鑾峰彇闊充箰鍒楄〃
+ /// </summary>
+ public const string Api_Post_PlayerList = "/home-wisdom/app/wise/music/playerList";
+ #endregion
}
diff --git a/HDL_ON/HDL_ON.projitems b/HDL_ON/HDL_ON.projitems
index c4771f5..df27706 100644
--- a/HDL_ON/HDL_ON.projitems
+++ b/HDL_ON/HDL_ON.projitems
@@ -60,31 +60,6 @@
<Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmSensor\SensorSmokePage.cs" />
<Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmSensor\SensorPirPage.cs" />
<Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmSensor\ArmSensorHistroyPaging.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\MusicMain.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31Radio.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\UpdateThread.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31RadioList.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31MusicModel.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31MusicSourcePage.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31PlayMusicPage.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31LoveRadioList.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31LoveList.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31USBMusicList.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31PlayStatus.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31MyList.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\SendMethod.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31LocalMusicList.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31LoveMusicList.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31MyListMusic.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\DialogView.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\TopView.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\MusicView.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\PlayView.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\SizeClass.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\TipView.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\MusicSourceView.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\SongView.cs" />
- <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\MyListView.cs" />
<Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\TuyaFanPage.cs" />
<Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\ClothesHangerPage.cs" />
<Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\FanPage.cs" />
@@ -488,6 +463,33 @@
<Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\SceneControlZone.cs" />
<Compile Include="$(MSBuildThisFileDirectory)UI\UI2\3-Intelligence\Automation\CalculatedDistance.cs" />
<Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\ArmCenter\PushConfigPage.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\MusicMain.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31Radio.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\UpdateThread.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31RadioList.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31MusicModel.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31MusicSourcePage.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31PlayMusicPage.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31LoveRadioList.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31LoveList.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31USBMusicList.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31PlayStatus.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31MyList.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\SendMethod.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31LocalMusicList.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31LoveMusicList.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31MyListMusic.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\DialogView.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\TopView.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\MusicView.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\PlayView.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\SizeClass.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\TipView.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\MusicSourceView.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\SongView.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\View\MyListView.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31MusicFileList.cs" />
+ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Music\A31SongPlay.cs" />
</ItemGroup>
<ItemGroup>
<Folder Include="$(MSBuildThisFileDirectory)Entity\Device\" />
diff --git a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
index 7b59c9e..4bd6d82 100644
--- a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
+++ b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs
@@ -125,7 +125,7 @@
break;
case SPK.MusicStandard:
case SPK.AvMusic:
- Music.A31MusicModel.Current = (function as Music.A31MusicModel);//褰撳墠鎾斁鍣�
+ Music.A31MusicModel.Current.functionMusic =function;//褰撳墠鎾斁鍣�
var a31PlayMusicPage = new Music.A31PlayMusicPage();
MainPage.BasePageView.AddChidren(a31PlayMusicPage);
a31PlayMusicPage.Show();
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index 4d75015..477f128 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -807,29 +807,29 @@
if (SPK.MusicSpkList().Contains( function.spk))
{
//var music = function as Music.A31MusicModel;
- var music = Music.A31MusicModel.A31MusicModelList.Find((obj) => obj.sid == function.sid);
- if (music == null)
- {
- continue;
- }
- if (music.ServerClientType == -1)
- {
- continue;
- }
- else if (music.ServerClientType == 1)
- {
- if (!music.MainPlayCollection)
- {
- continue;
- }
- }
- else
- {
- if (!music.collect)
- {
- continue;
- }
- }
+ //var music = Music.A31MusicModel.A31MusicModelList.Find((obj) => obj.sid == function.sid);
+ //if (music == null)
+ //{
+ // continue;
+ //}
+ //if (music.ServerClientType == -1)
+ //{
+ // continue;
+ //}
+ //else if (music.ServerClientType == 1)
+ //{
+ // if (!music.MainPlayCollection)
+ // {
+ // continue;
+ // }
+ //}
+ //else
+ //{
+ // if (!music.collect)
+ // {
+ // continue;
+ // }
+ //}
}
else
{
@@ -1148,8 +1148,8 @@
SelectedImagePath = "FunctionIcon/Music/MusicPlayOnIcon.png",
};
view.AddChidren(btnPower);
- var a31player = (function as UI.Music.A31MusicModel);
- btnState.Text = a31player.A31PlayStatus.Title;
+
+ btnState.Text = function.GetAttrState("song_name");
btnState.SelectedTextColor = CSS_Color.MainBackgroundColor;
btnState.TextColor = CSS_Color.MainBackgroundColor;//PromptingColor1
@@ -1158,21 +1158,22 @@
btnPower.MouseUpEventHandler = (sender, e) =>
{
+
+ string status = "off";
if (btnPower.IsSelected)
{
btnPower.IsSelected = false;
- Music.SendMethod.Pause(a31player);
- a31player.A31PlayStatus.status = "pause";
- a31player.trait_on_off.curValue = "off";
+ status = "off";
}
else
{
btnPower.IsSelected = true;
- Music.SendMethod.Play(a31player);
- a31player.A31PlayStatus.status = "play";
- a31player.trait_on_off.curValue = "on";
+ status = "on";
}
- UpdataFunctionStates(a31player);
+ function.SetAttrState("on_off", status);
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("on_off", status);
+ Music.SendMethod.sendMethod.SendControlCommand(function, dic);
};
}
@@ -1230,14 +1231,14 @@
//鍙栨秷鏀惰棌浜嬩欢
Action cannelCollect = () => {
function.collect = false;
- if (SPK.MusicSpkList().Contains(function.spk))//澶勭悊闊充箰涓讳粠鍏崇郴
- {
- if ((function as Music.A31MusicModel).ServerClientType == 1)
- {
- (function as Music.A31MusicModel).MainPlayCollection = false;
- Music.A31MusicModel.Save();
- }
- }
+ //if (SPK.MusicSpkList().Contains(function.spk))//澶勭悊闊充箰涓讳粠鍏崇郴
+ //{
+ // if ((function as Music.A31MusicModel).ServerClientType == 1)
+ // {
+ // (function as Music.A31MusicModel).MainPlayCollection = false;
+ // Music.A31MusicModel.Save();
+ // }
+ //}
string msg = function.name + Language.StringByID(StringId.CollectionCancelled);
LoadDeviceFunctionControlZone();
function.CollectFunction();
diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
index 21ac7a8..9bec14b 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs
@@ -244,11 +244,11 @@
function.collect = false;
if (SPK.MusicSpkList().Contains(function.spk))//澶勭悊闊充箰涓讳粠鍏崇郴
{
- if ((function as Music.A31MusicModel).ServerClientType == 1)
- {
- (function as Music.A31MusicModel).MainPlayCollection = false;
- Music.A31MusicModel.Save();
- }
+ //if ((function as Music.A31MusicModel).ServerClientType == 1)
+ //{
+ // (function as Music.A31MusicModel).MainPlayCollection = false;
+ // Music.A31MusicModel.Save();
+ //}
}
string msg = function.name + Language.StringByID(StringId.CollectionCancelled);
LoadDeviceFunctionControlZone();
@@ -374,7 +374,7 @@
{
if (SPK.MusicSpkList().Contains(function.spk))
{
- btn.Text = (function as Music.A31MusicModel).A31PlayStatus.Title;
+ btn.Text =function.GetAttrState("song_name");
}
else
{
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
index 5a6a5d3..09b860a 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificaitionPublicBLL.cs
@@ -156,12 +156,12 @@
else if (SPK.MusicSpkList().Contains(updataFunction.spk))
{
#region 闊充箰鏇存柊
- var uMusic = updataFunction as Music.A31MusicModel;
+ var uMusic = updataFunction;
if (cTag == updataFunction.spk + "_State_" + updataFunction.sid)
{
try
{
- (fcView.GetChildren(j) as Button).IsSelected = uMusic.A31PlayStatus.status == "play";
+ (fcView.GetChildren(j) as Button).IsSelected = uMusic.GetAttrState("on_off") == "on";
}
catch (Exception ex)
{
diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs
index 0e8f778..ade6e01 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPageBLL.cs
@@ -214,9 +214,12 @@
foreach (var m in Music.A31MusicModel.A31MusicModelList)
{
- if (m.roomIds.Contains(room.roomId))
+ if (m.functionMusic.roomIds.Contains(room.roomId))
{
- Music.SendMethod.Pause(m);
+ m.functionMusic.SetAttrState("on_off", "off");
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("on_off", "off");
+ Music.SendMethod.sendMethod.SendControlCommand(m.functionMusic, dic);
}
}
})
diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
index 9a7fe8d..86d9ff5 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZone.cs
@@ -408,7 +408,7 @@
SelectedImagePath = "MusicIcon/nextSelected.png",
};
bodyDiv.AddChidren(btnNext);
- LoadEvent_ControlMusic(btnPlay, btnNext, btnPrev, function as A31MusicModel);
+ LoadEvent_ControlMusic(btnPlay, btnNext, btnPrev, function);
#endregion
}
diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
index cdaef53..e4a3f68 100644
--- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
+++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs
@@ -291,7 +291,7 @@
/// <param name="btnOpen"></param>
/// <param name="btnClose"></param>
/// <param name="curtain"></param>
- void LoadEvent_ControlMusic(Button btnPlay,Button btnNext,Button btnPrev, A31MusicModel a31player)
+ void LoadEvent_ControlMusic(Button btnPlay,Button btnNext,Button btnPrev, Function a31player)
{
if (a31player == null)
return;
@@ -299,7 +299,10 @@
btnPrev.MouseDownEventHandler = (sender, e) =>
{
btnPrev.IsSelected = true;
- SendMethod.Previous(a31player);
+ a31player.SetAttrState("song_step", "up");
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("song_step", "up");
+ SendMethod.sendMethod.SendControlCommand(a31player, dic);
};
btnPrev.MouseUpEventHandler = (sender, e) =>
{
@@ -308,24 +311,30 @@
///鏆傚仠/鎾斁鐐瑰嚮浜嬩欢
btnPlay.MouseDownEventHandler = (sender, e) =>
{
+ string status = "off";
if (btnPlay.IsSelected)
{
btnPlay.IsSelected = false;
- SendMethod.Pause(a31player);
- a31player.A31PlayStatus.status = "pause";
+ status = "off";
}
else
{
btnPlay.IsSelected = true;
- SendMethod.Play(a31player);
- a31player.A31PlayStatus.status = "play";
+ status = "on";
}
+ a31player.SetAttrState("on_off", status);
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("on_off", status);
+ SendMethod.sendMethod.SendControlCommand(a31player, dic);
};
///涓嬩竴鏇茬偣鍑讳簨浠�
btnNext.MouseDownEventHandler = (sender, e) =>
{
btnNext.IsSelected = true;
- SendMethod.Next(a31player);
+ a31player.SetAttrState("song_step", "down");
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("song_step", "down");
+ SendMethod.sendMethod.SendControlCommand(a31player, dic);
};
btnNext.MouseUpEventHandler = (sender, e) =>
{
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31LocalMusicList.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31LocalMusicList.cs
index 89c9543..6bbfd24 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31LocalMusicList.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31LocalMusicList.cs
@@ -46,14 +46,14 @@
public void MusicView()
{
middViewLayout.RemoveAll();
- UI2.FuntionControlView.Music.UpdateThread.playMusuc(middViewLayout, "鏈湴闊充箰", Language.StringByID(StringId.localMusic), MusicInfo.MusicInfoList, A31MusicModel.Current);
+ // UI2.FuntionControlView.Music.UpdateThread.playMusuc(middViewLayout, "鏈湴闊充箰", Language.StringByID(StringId.localMusic), MusicInfo.MusicIxnfoList, A31MusicModel.Current);
}
/// <summary>
/// 瀹氭椂鏇存柊褰撳墠鎾斁闊充箰
/// </summary>
public void UpdateSelectedMusic()
{
- UI2.FuntionControlView.Music.UpdateThread.updateThread(this, middViewLayout,A31MusicModel.Current);
+ UI2.FuntionControlView.Music.UpdateThread.updateCurrMusicThread(this, middViewLayout,A31MusicModel.Current);
}
}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveList.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveList.cs
index 17e903c..3d7c891 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveList.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveList.cs
@@ -116,12 +116,12 @@
if (fileNameBtn.Text == Language.StringByID(StringId.a31Music))
{
///鍠滅埍闊充箰鍒楄〃
- SelectedPaly(fileNameBtn.Text, A31MusicModel.Current.LoveMusicInfoList, playIconBtn);
+ //SelectedPaly(fileNameBtn.Text, A31MusicModel.Current.LoveMusicInfoList, playIconBtn);
}
else
{
///鍠滅埍鐢靛彴鍒楄〃
- SelectedPaly(fileNameBtn.Text, A31MusicModel.Current.LoveRadioInfoList, playIconBtn);
+ //SelectedPaly(fileNameBtn.Text, A31MusicModel.Current.LoveRadioInfoList, playIconBtn);
}
};
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveMusicList.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveMusicList.cs
index e0a95e1..c7189cb 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveMusicList.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31LoveMusicList.cs
@@ -49,14 +49,14 @@
public void MusicView(string listName)
{
middViewLayout.RemoveAll();
- UI2.FuntionControlView.Music.UpdateThread.playMusuc(middViewLayout, "鎴戠殑鏈�鐖�", listName, A31MusicModel.Current.LoveMusicInfoList, A31MusicModel.Current);
+ UI2.FuntionControlView.Music.UpdateThread.PlayMusicClick(middViewLayout, "鎴戠殑鏈�鐖�", listName, A31MusicModel.Current.LoveMusicInfoList);
}
/// <summary>
/// 瀹氭椂鏇存柊褰撳墠鎾斁闊充箰
/// </summary>
public void UpdateSelectedMusic()
{
- UI2.FuntionControlView.Music.UpdateThread.updateThread(this, middViewLayout,A31MusicModel.Current);
+ UI2.FuntionControlView.Music.UpdateThread.updateCurrMusicThread(this, middViewLayout,A31MusicModel.Current);
}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicFileList.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicFileList.cs
new file mode 100644
index 0000000..779d161
--- /dev/null
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicFileList.cs
@@ -0,0 +1,115 @@
+锘縰sing System;
+using System.Collections.Generic;
+using Shared;
+namespace HDL_ON.UI.Music
+{
+ public class A31MusicFileList : FrameLayout
+ {
+ public A31MusicFileList()
+ {
+ Tag = "Music";
+ }
+ VerticalRefreshLayout middViewLayout;
+ public void Show()
+ {
+ #region 鐣岄潰甯冨眬------
+
+ this.BackgroundColor = MusicColor.ViewColor;
+ var topView = new TopView();
+ this.AddChidren(topView.TopFLayoutView());
+ topView.topNameBtn.TextID = StringId.usb;
+ topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
+ {
+ this.RemoveFromParent();
+ };
+ middViewLayout = new VerticalRefreshLayout
+ {
+ BackgroundColor = MusicColor.WhiteColor,
+ Y = topView.fLayout.Bottom,
+ Height = Application.GetRealHeight(H_W.H - H_W.T_Height),
+ };
+ this.AddChidren(middViewLayout);
+ #endregion
+
+ middViewLayout.BeginHeaderRefreshingAction += () =>
+ {
+ System.Threading.Tasks.Task.Run(() =>
+ {
+ try
+ {
+ SendMethod.sendMethod.GetPalyList(A31MusicModel.Current.functionMusic);
+ }
+ catch { }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ FileView();
+ middViewLayout.EndHeaderRefreshing();
+ });
+ }
+ });
+
+ };
+
+ }
+ /// <summary>
+ /// 鍔犺浇鏂囦欢澶筕iew鐨勬柟娉�
+ /// </summary>
+ public void FileView()
+ {
+ middViewLayout.RemoveAll();
+ for (int i = 0; i < A31MusicModel.Current.palyListInfos.Count; i++)
+ {
+ var list = A31MusicModel.Current.palyListInfos[i];
+ RowLayout addFlieRow = new RowLayout
+ {
+ Height = Application.GetRealHeight(104),
+ LineColor = MusicColor.WhiteColor,
+ SubViewWidth = Application.GetRealWidth(90),//鏀瑰彉缂栬緫鎺т欢瀹藉害澶氬皯锛�
+ };
+ middViewLayout.AddChidren(addFlieRow);
+ //鏂囦欢鍥炬爣
+ Button fileIconBtn = new Button
+ {
+ X = Application.GetRealWidth(16),
+ Y = Application.GetRealHeight(8),
+ Width = Application.GetRealWidth(88),
+ Height = Application.GetRealWidth(88),
+ UnSelectedImagePath = "MusicIcon/fileList.png",
+ };
+ addFlieRow.AddChidren(fileIconBtn);
+
+ //鏂囦欢鍚嶆帶浠�
+ Button fileNameBtn = new Button
+ {
+ X = fileIconBtn.Right + Application.GetRealWidth(16),
+ Y = Application.GetRealHeight(42),
+ Width = Application.GetRealWidth(217),
+ Height = Application.GetRealHeight(20),
+ TextColor = MusicColor.TextColor,
+ TextSize = TextSize.Text14,
+ TextAlignment = TextAlignment.CenterLeft,
+ Text = list.group,
+ };
+ addFlieRow.AddChidren(fileNameBtn);
+
+ Button clickBtn = new Button
+ {
+ X = fileIconBtn.Right + Application.GetRealWidth(16),
+ Width = Application.GetRealWidth(375 - 138),
+ Height = Application.GetRealHeight(104),
+ };
+ addFlieRow.AddChidren(clickBtn);
+ clickBtn.MouseUpEventHandler += (sender, e) =>
+ {
+ A31SongPlay a31Song = new A31SongPlay();
+ MainPage.BasePageView.AddChidren(a31Song);
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ a31Song.Show(list.songs, list.group);
+ };
+
+ }
+ }
+ }
+}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs
index 13991b2..15371bc 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs
@@ -7,7 +7,7 @@
{
[System.Serializable]
- public class A31MusicModel : Function
+ public class A31MusicModel
{
public static List<A31MusicModel> A31MusicModelList = new List<A31MusicModel> { };
static readonly string a31MusiceModeListFilePath = "A31MusiceModeListFilePath";
@@ -46,15 +46,19 @@
}
}
}
-
+ /// <summary>
+ /// 闊充箰鍔熻兘
+ /// </summary>
+ public Function functionMusic = new Function();
/// <summary>
/// 绉婚櫎涔嬪墠鐨勭嚎绋�
/// </summary>
- public static void RemoveListThread() {
+ public static void RemoveListThread()
+ {
for (int i = 0; i < updataMusicStatesListThread.Count;)
{
try
- {
+ {
var thread = updataMusicStatesListThread[i];
if (thread.IsAlive)
{
@@ -81,7 +85,7 @@
{
for (int i = 0; i < A31MusicModelList.Count; i++)
{
- if (A31MusicModelList[i].collect)
+ if (A31MusicModelList[i].functionMusic.collect)
{
return true; //鏌ヨ鏄惁鏈夐煶涔愯鏀惰棌杩�
}
@@ -160,7 +164,7 @@
/// <summary>
///褰撳墠鎾斁鐨勫垪琛ㄤ俊鎭�
/// </summary>
- public List<MusicInfo> CurrentPlayMusicInfoList = new List<MusicInfo>();
+ public List<Songs> CurrentPlayMusicInfoList = new List<Songs>();
/// <summary>
/// 鏄惁鍏佽鏄剧ず
@@ -172,43 +176,49 @@
/// </summary>
public bool IsOnLine = true;
+
+ /// <summary>
+ /// 鍒楄〃
+ /// </summary>
+ public List<PalyListInfo> palyListInfos = new List<PalyListInfo>();
+
/// <summary>
/// 鍠滅埍闊充箰鍒楄〃
/// </summary>
- public List<MusicInfo> LoveMusicInfoList = new List<MusicInfo>();
+ public List<Songs> LoveMusicInfoList = new List<Songs>();
/// <summary>
/// DLNA鎵�鏈夊垪琛�
/// </summary>
- public List<MusicInfo> dlnaMusicInfoLists = new List<MusicInfo>();
+ public List<Songs> dlnaMusicInfoLists = new List<Songs>();
/// <summary>
/// 鐢靛彴鎵�鏈夊垪琛�
/// </summary>
- public List<MusicInfo> CnRadioInfoList = new List<MusicInfo>();
+ public List<Songs> CnRadioInfoList = new List<Songs>();
/// <summary>
/// vTuner鐢靛彴鎵�鏈夊垪琛�
/// </summary>
- public List<MusicInfo> vTunerList = new List<MusicInfo>();
+ public List<Songs> vTunerList = new List<Songs>();
/// <summary>
/// 鍠滅埍鐢靛彴鍒楄〃
/// </summary>
- public List<MusicInfo> LoveRadioInfoList = new List<MusicInfo>();
+ public List<Songs> LoveRadioInfoList = new List<Songs>();
/// <summary>
/// Pandora鐢靛彴鎵�鏈夊垪琛�
/// </summary>
- public List<MusicInfo> PanRadioInfoList = new List<MusicInfo>();
+ public List<Songs> PanRadioInfoList = new List<Songs>();
/// <summary>
/// usb鍒楄〃
/// </summary>
- public List<MusicInfo> USBList = new List<MusicInfo>();
+ public List<Songs> USBList = new List<Songs>();
/// <summary>
/// Tidal鍠滅埍鍒楄〃
/// </summary>
- public List<MusicInfo> TidalLikelist = new List<MusicInfo>();
+ public List<Songs> TidalLikelist = new List<Songs>();
/// <summary>
///鍒涘缓闊充箰鏂囦欢鍒楄〃
/// </summary>
@@ -231,9 +241,9 @@
set
{
_ServerClientType = value;
- if(value == 0)
+ if (value == 0)
{
- name = Name;
+ //name = Name;
}
}
}
@@ -255,11 +265,23 @@
set
{
_MainPlayName = value;
- if(ServerClientType == 1)
- {
- name = value;
- }
+ //if(ServerClientType == 1)
+ //{
+ // name = value;
+ //}
}
+ }
+ /// <summary>
+ /// 鎸囧畾鍒楄〃鍚嶈幏鍙栭煶涔愬垪琛�
+ /// </summary>
+ /// <returns></returns>
+ public List<Songs> GetSongList(string listName)
+ {
+ var list = palyListInfos.Find((o)=>o.group==listName);
+ if (list==null) {
+ return new List<Songs>();
+ }
+ return list.songs;
}
/// <summary>
/// 璁板綍涓绘挱鏀惧櫒鏄惁琚敹钘�(绉�妗″畾涔夌殑)
@@ -310,7 +332,7 @@
/// <summary>
/// 鍒楄〃姝屾洸淇℃伅
/// </summary>
- public List<MusicInfo> MusicInfoList = new List<MusicInfo>();
+ public List<Songs> MusicInfoList = new List<Songs>();
}
[System.Serializable]
public class TidalMusicInfo : MusicInfo
@@ -339,5 +361,45 @@
public string version = string.Empty;
public string uuid = string.Empty;
}
+ [System.Serializable]
+ /// <summary>
+ /// 鍒楄〃淇℃伅
+ /// </summary>
+ public class PalyListInfo
+ {
+ /// <summary>
+ /// 鍒楄〃鍚�
+ /// </summary>
+ public string group = string.Empty;
+ /// <summary>
+ /// 鍒楄〃姝屾洸淇℃伅
+ /// </summary>
+ public List<Songs> songs = new List<Songs>();
+ }
+ [System.Serializable]
+ public class Songs:MusicInfo
+ {
+ /// <summary>
+ /// 姝屾洸鍚嶇О
+ /// </summary>
+ public string name = string.Empty;
+ /// <summary>
+ /// 澶у皬
+ /// </summary>
+ public string size = string.Empty;
+ /// <summary>
+ /// 鏃堕暱
+ /// </summary>
+ public string time = string.Empty;
+ /// <summary>
+ /// 绫诲瀷<鑷繁鐢�>
+ /// </summary>
+ public string type = string.Empty;
+
+
+
+
+ }
+
}
\ No newline at end of file
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicSourcePage.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicSourcePage.cs
index 3db0642..572d534 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicSourcePage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicSourcePage.cs
@@ -70,7 +70,7 @@
areaText.lineBtn.BackgroundColor = MusicColor.WhiteColor;
areaText.textBtn.X = Application.GetRealWidth(16);
areaText.textBtn.TextID = StringId.region;
- areaText.inputTextBtn.Text = A31MusicModel.Current.GetRoomListName();
+ areaText.inputTextBtn.Text = A31MusicModel.Current.functionMusic.GetRoomListName();
#endregion
@@ -122,17 +122,23 @@
selectedSourceView.nextLevelBtn.Visible = false;
selectedSourceView.FrameLayoutView(fL3, false);
+ View.MusicSourceView musicSourceView = new View.MusicSourceView();
+ musicSourceView.fLayout.Y = selectedSourceView.fLayout.Bottom;
+ musicSourceView.iconBtn.UnSelectedImagePath = "MusicIcon/usb.png";
+ musicSourceView.textBtn.TextID = StringId.usb;
+ musicSourceView.FrameLayoutView(fL3);
+
View.MusicSourceView localMusicSourceView = new View.MusicSourceView();
- localMusicSourceView.fLayout.Y = selectedSourceView.fLayout.Bottom;
+ localMusicSourceView.fLayout.Y = musicSourceView.fLayout.Bottom;
localMusicSourceView.iconBtn.UnSelectedImagePath = "MusicIcon/localMusic.png";
localMusicSourceView.textBtn.TextID = StringId.localMusic;
- localMusicSourceView.FrameLayoutView(fL3);
+ //localMusicSourceView.FrameLayoutView(fL3);
View.MusicSourceView usbSourceView = new View.MusicSourceView();
usbSourceView.fLayout.Y = localMusicSourceView.fLayout.Bottom;
usbSourceView.iconBtn.UnSelectedImagePath = "MusicIcon/usb.png";
usbSourceView.textBtn.TextID = StringId.usb;
- usbSourceView.FrameLayoutView(fL3);
+ //usbSourceView.FrameLayoutView(fL3);
View.MusicSourceView radioSourceView = new View.MusicSourceView();
radioSourceView.fLayout.Y = usbSourceView.fLayout.Bottom;
@@ -144,19 +150,19 @@
qqMusicSourceView.fLayout.Y = usbSourceView.fLayout.Bottom;
qqMusicSourceView.iconBtn.UnSelectedImagePath = "MusicIcon/qqMusic.png";
qqMusicSourceView.textBtn.TextID = StringId.qqMusic;
- qqMusicSourceView.FrameLayoutView(fL3);
+ //qqMusicSourceView.FrameLayoutView(fL3);
View.MusicSourceView bluetoothSourceView = new View.MusicSourceView();
bluetoothSourceView.fLayout.Y = qqMusicSourceView.fLayout.Bottom;
bluetoothSourceView.iconBtn.UnSelectedImagePath = "MusicIcon/bluetooth.png";
bluetoothSourceView.textBtn.TextID = StringId.bluetooth;
- bluetoothSourceView.FrameLayoutView(fL3);
+ //bluetoothSourceView.FrameLayoutView(fL3);
View.MusicSourceView lineSourceView = new View.MusicSourceView();
lineSourceView.fLayout.Y = bluetoothSourceView.fLayout.Bottom;
lineSourceView.iconBtn.UnSelectedImagePath = "MusicIcon/line.png";
lineSourceView.textBtn.TextID = StringId.line;
- lineSourceView.FrameLayoutView(fL3);
+ //lineSourceView.FrameLayoutView(fL3);
#endregion
@@ -164,6 +170,41 @@
#endregion
#region 鎵�鏈夌偣鍑讳簨浠�
+ ///浜嬩欢
+ musicSourceView.clickBtn.MouseUpEventHandler += (sender, e) =>
+ {
+ A31MusicFileList a31MusicFileList = new A31MusicFileList();
+ MainPage.BasePageView.AddChidren(a31MusicFileList);
+ a31MusicFileList.Show();
+ MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+ Loading loading = new Loading();
+ a31MusicFileList.AddChidren(loading);
+ loading.Start();
+ System.Threading.Tasks.Task.Run(() =>
+ {
+ try
+ {
+ if (A31MusicModel.Current.palyListInfos.Count == 0)
+ {
+ SendMethod.sendMethod.GetPalyList(A31MusicModel.Current.functionMusic);
+
+ }
+ }
+ catch
+ {
+ }
+ finally
+ {
+ Application.RunOnMainThread(() =>
+ {
+ loading.Hide();
+ a31MusicFileList.FileView();
+ });
+ }
+ });
+ };
+
+
///鎾斁鍣ㄤ慨鏀瑰悕绉颁簨浠�
playNameView.clickBtn.MouseUpEventHandler += (sender, e) =>
{
@@ -189,9 +230,9 @@
///鍖哄煙淇敼鐨勪簨浠�
areaText.clickBtn.MouseUpEventHandler += (sender, e) =>
{
- ChooseRoomPage chooseRoomPage = new ChooseRoomPage(A31MusicModel.Current, () =>
+ ChooseRoomPage chooseRoomPage = new ChooseRoomPage(A31MusicModel.Current.functionMusic, () =>
{
- areaText.inputTextBtn.Text = A31MusicModel.Current.GetRoomListName();
+ areaText.inputTextBtn.Text = A31MusicModel.Current.functionMusic.GetRoomListName();
A31MusicModel.Save();
});
MainPage.BasePageView.AddChidren(chooseRoomPage);
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyList.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyList.cs
index 2e8ac86..21a2aa7 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyList.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyList.cs
@@ -157,7 +157,7 @@
//绉婚櫎鐣岄潰
System.Threading.Tasks.Task.Run(() =>
{
- SendMethod.PushList(songs, list.ListName, list.MusicInfoList,A31MusicModel.Current, "鎴戠殑鍒楄〃");
+ // SendMethod.PushList(songs, list.ListName, list.MusicInfoList,A31MusicModel.Current, "鎴戠殑鍒楄〃");
});
});
});
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyListMusic.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyListMusic.cs
index f55fa85..a673650 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyListMusic.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MyListMusic.cs
@@ -47,14 +47,14 @@
public void MusicView(FileListInfo fileListInfo)
{
middViewLayout.RemoveAll();
- UI2.FuntionControlView.Music.UpdateThread.playMusuc(middViewLayout,"鎴戠殑鍒楄〃", fileListInfo.ListName, fileListInfo.MusicInfoList, A31MusicModel.Current);
+ UI2.FuntionControlView.Music.UpdateThread.PlayMusicClick(middViewLayout,"鎴戠殑鍒楄〃", fileListInfo.ListName, fileListInfo.MusicInfoList);
}
/// <summary>
/// 瀹氭椂鏇存柊褰撳墠鎾斁闊充箰
/// </summary>
public void UpdateSelectedMusic()
{
- UI2.FuntionControlView.Music.UpdateThread.updateThread(this, middViewLayout, A31MusicModel.Current);
+ UI2.FuntionControlView.Music.UpdateThread.updateCurrMusicThread(this, middViewLayout, A31MusicModel.Current);
}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs
index d651ae9..284aadc 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31PlayMusicPage.cs
@@ -74,62 +74,67 @@
playView.collectIconBtn.IsSelected = !playView.collectIconBtn.IsSelected;
if (playView.collectIconBtn.IsSelected)
{
- A31MusicModel.Current.collect = true;
+ A31MusicModel.Current.functionMusic.collect = true;
}
else
{
- A31MusicModel.Current.collect = false;
+ A31MusicModel.Current.functionMusic.collect = false;
}
};
//蹇繘婊戝姩寮硅捣浜嬩欢;
playView.diyArcSeekBar.OnStopTrackingTouchEvent+= (sender, e) =>
{
- int totalSecond = (int)(playView.diyArcSeekBar.Progress * 1.0f / 100 * int.Parse(A31MusicModel.Current.A31PlayStatus.totlen) / 1000);
+ int totalSecond = (int)(playView.diyArcSeekBar.Progress * 1.0f / 100 * int.Parse(A31MusicModel.Current.functionMusic.GetAttrState("song_time")));
//鍒嗛挓
int Minute = totalSecond / 60;
//绉掗挓
int Second = totalSecond % 60;
string time = "00" + ":" + (Minute.ToString().Length < 2 ? "0" + Minute.ToString() : Minute.ToString()) + ":" + (Second.ToString().Length < 2 ? "0" + Second.ToString() : Second.ToString());
- SendMethod.Seek(time, A31MusicModel.Current);
+ //SendMethod.Seek(time, A31MusicModel.Current);
+
+ //Dictionary<string, string> dic = new Dictionary<string, string>();
+ //dic.Add("mode", modeValueString);
+ //SendMethod.sendMethod.SendControlCommand(A31MusicModel.Current.functionMusic, dic);
A31MusicModel.Current.A31PlayStatus.curpos = (DateTime.Parse(time) - DateTime.Parse("00:00:00")).TotalMilliseconds.ToString();
};
///鍒囨崲鎾斁妯″紡鐐瑰嚮浜嬩欢;
playView.playOrderBtn.MouseUpEventHandler += (sender, e) =>
{
+ string modeValueString = string.Empty;
string msg = Language.StringByID(StringId.switchTo);
switch (A31MusicModel.Current.A31PlayStatus.loop)
{
- //0鍒楄〃寰幆锛�1鍗曟洸寰幆锛�2闅忔満鎾斁;
- case "0":
- A31MusicModel.Current.A31PlayStatus.loop = "1";
+ //list_cycle鍒楄〃寰幆锛宻ingle_cycle鍗曟洸寰幆锛宺andom闅忔満鎾斁;
+ case "list_cycle":
+ modeValueString="single_cycle";
playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/single.png";
msg += Language.StringByID(StringId.singleMode);
break;
- case "1":
- A31MusicModel.Current.A31PlayStatus.loop = "2";
+ case "single_cycle":
+ modeValueString = "random";
playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/random.png";
msg += Language.StringByID(StringId.randomMode);
break;
- case "2":
- A31MusicModel.Current.A31PlayStatus.loop = "0";
+ case "random":
+ modeValueString = "list_cycle";
playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/list.png";
msg += Language.StringByID(StringId.listMode);
break;
}
+ A31MusicModel.Current.functionMusic.SetAttrState("mode", modeValueString);
new PublicAssmebly().TipMsgAutoClose(msg, false,1000);
- string url = "http://" + A31MusicModel.Current.IPAddress + "/httpapi.asp?command=setPlayerCmd:" + "loopmode:" + A31MusicModel.Current.A31PlayStatus.loop;
- SendMethod.SendCommand(url);
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("mode",modeValueString);
+ SendMethod.sendMethod.SendControlCommand(A31MusicModel.Current.functionMusic,dic);
};
///娣诲姞鍠滅埍鐐瑰嚮浜嬩欢;
playView.loveBtn.MouseUpEventHandler += (sender, e) =>
{
- var url = A31MusicModel.Current.A31PlayStatus.TrackURL;
- var album = A31MusicModel.Current.A31PlayStatus.Album;
- var artist = A31MusicModel.Current.A31PlayStatus.Artist;
- var song = A31MusicModel.Current.A31PlayStatus.Title;
+ var name = A31MusicModel.Current.functionMusic.GetAttribute("song_name").ToString();
+ var songTime = A31MusicModel.Current.functionMusic.GetAttribute("song_time").ToString();
if (A31MusicModel.Current.A31PlayStatus.Source == "RADIO-NETWORK")
{
playView.loveBtn.IsSelected = !playView.loveBtn.IsSelected;
@@ -137,17 +142,17 @@
{
if (null == A31MusicModel.Current.LoveRadioInfoList.Find((musicInfo) =>
{
- return url == musicInfo.URL;
+ return name == musicInfo.name;
}))
{
- A31MusicModel.Current.LoveRadioInfoList.Add(new MusicInfo { Title = song, URL = url, });
+ A31MusicModel.Current.LoveRadioInfoList.Add(new Songs { name = name, time = songTime});
}
}
else
{
A31MusicModel.Current.LoveRadioInfoList.RemoveAll((musicInfo) =>
{
- return url == musicInfo.URL;
+ return name == musicInfo.name;
});
}
}
@@ -158,10 +163,10 @@
{
if (null == A31MusicModel.Current.LoveMusicInfoList.Find((musicInfo) =>
{
- return url == musicInfo.URL;
+ return name == musicInfo.name;
}))
{
- A31MusicModel.Current.LoveMusicInfoList.Add(new MusicInfo { Title = song, URL = url, Artist = artist, Album = album });
+ A31MusicModel.Current.LoveMusicInfoList.Add(new Songs { name = name, time = songTime});
}
}
else
@@ -169,7 +174,7 @@
A31MusicModel.Current.LoveMusicInfoList.RemoveAll((musicInfo) =>
{
//涔熻鍔犳瓕鎵嬪悕鍒ゆ柇
- return musicInfo.URL == url;
+ return musicInfo.name == name;
});
}
@@ -198,14 +203,13 @@
myListView.backIextBtn.MouseUpEventHandler += removeFromParentView;
myListView.popFra.MouseUpEventHandler += removeFromParentView;
#endregion
- loading.Start();
- GetMusicList((listName) =>
- {
- loading.Hide();
- PlayListView(myListView.popFra, myListView.verticalScrolViewLayout, listName);
- UpdateSelectedMusic(myListView.popFra, myListView.verticalScrolViewLayout);
- });
-
+ //var listName = A31MusicModel.Current.functionMusic.GetAttribute("playlist_name").ToString();
+ //var musicList = A31MusicModel.Current.GetSongList(listName);
+ //new A31SongPlay { }.SongListView(myListView.verticalScrolViewLayout, musicList, listName);
+
+ PlayListView(myListView.popFra, myListView.verticalScrolViewLayout);
+ UpdateSelectedMusic(myListView.popFra, myListView.verticalScrolViewLayout);
+
};
///闊抽噺鍥炬爣鐐瑰嚮浜嬩欢
playView.volIconBtn.MouseUpEventHandler += (sender, e) =>
@@ -227,8 +231,11 @@
if (startVolume != e)
{
startVolume = e;
- SendMethod.ControlVolume(e, A31MusicModel.Current);
- A31MusicModel.Current.A31PlayStatus.vol = e.ToString();
+ A31MusicModel.Current.functionMusic.SetAttrState("volume", startVolume);
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("volume", startVolume.ToString());
+ SendMethod.sendMethod.SendControlCommand(A31MusicModel.Current.functionMusic, dic);
+
}
};
playView.volSeekBar.OnProgressChangedEvent += progressClick;
@@ -237,7 +244,12 @@
playView.prevBtn.MouseDownEventHandler += (sender, e) =>
{
playView.prevBtn.IsSelected = true;
- SendMethod.Previous(A31MusicModel.Current);
+
+ A31MusicModel.Current.functionMusic.SetAttrState("song_step", "down");
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("song_step", "down");
+ SendMethod.sendMethod.SendControlCommand(A31MusicModel.Current.functionMusic, dic);
+
};
playView.prevBtn.MouseUpEventHandler += (sender, e) =>
{
@@ -246,24 +258,30 @@
///鏆傚仠/鎾斁鐐瑰嚮浜嬩欢
playView.playBtn.MouseDownEventHandler += (sender, e) =>
{
+ string status = string.Empty;
if (playView.playBtn.IsSelected)
{
playView.playBtn.IsSelected = false;
- SendMethod.Pause(A31MusicModel.Current);
- A31MusicModel.Current.A31PlayStatus.status = "pause";
+ status = "off";
}
else
{
playView.playBtn.IsSelected = true;
- SendMethod.Play(A31MusicModel.Current);
- A31MusicModel.Current.A31PlayStatus.status = "play";
+ status = "on";
}
+ A31MusicModel.Current.functionMusic.SetAttrState("on_off", status);
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("on_off", status);
+ SendMethod.sendMethod.SendControlCommand(A31MusicModel.Current.functionMusic, dic);
};
///涓嬩竴鏇茬偣鍑讳簨浠�
playView.nextBtn.MouseDownEventHandler += (sender, e) =>
{
playView.nextBtn.IsSelected = true;
- SendMethod.Next(A31MusicModel.Current);
+ A31MusicModel.Current.functionMusic.SetAttrState("song_step", "down");
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("song_step", "down");
+ SendMethod.sendMethod.SendControlCommand(A31MusicModel.Current.functionMusic, dic);
};
playView.nextBtn.MouseUpEventHandler += (sender, e) =>
{
@@ -281,8 +299,10 @@
if (startVolume != volume)
{
startVolume = volume;
- SendMethod.ControlVolume(volume, A31MusicModel.Current);
- A31MusicModel.Current.A31PlayStatus.vol = volume.ToString();
+ A31MusicModel.Current.functionMusic.SetAttrState("volume", startVolume);
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("volume", startVolume.ToString());
+ SendMethod.sendMethod.SendControlCommand(A31MusicModel.Current.functionMusic, dic);
}
};
@@ -308,7 +328,7 @@
//鏇存柊鎬绘椂闂�
//鎬诲叡鏈夊灏戠
- int totalSecond = int.Parse(A31MusicModel.Current.A31PlayStatus.totlen) / 1000;
+ int totalSecond = int.Parse(A31MusicModel.Current.functionMusic.GetAttrState("song_time"));
//鍒嗛挓
int totalMusicMinute = totalSecond / 60;
//绉掗挓
@@ -319,52 +339,52 @@
//topView.topNameBtn.Text = A31MusicModel.Current.Name;
- switch (A31MusicModel.Current.A31PlayStatus.loop)
+ switch (A31MusicModel.Current.functionMusic.GetAttrState("mode"))
{
- case "0"://鍒楄〃寰幆
+ case "list_cycle"://鍒楄〃寰幆
playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/list.png";
break;
- case "1"://鍗曟洸椤虹幆
+ case "single_cycle"://鍗曟洸寰幆
playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/single.png";
break;
- case "2"://闅忔満鎾斁
+ case "random"://闅忔満鎾斁
playView.playOrderBtn.UnSelectedImagePath = "MusicIcon/random.png";
break;
}
- if (A31MusicModel.Current.A31PlayStatus.Source == "RADIO-NETWORK")
- {
- var v = A31MusicModel.Current.LoveRadioInfoList.Find((like) =>
- {
- return like.URL == A31MusicModel.Current.A31PlayStatus.TrackURL;
- });
- if (v != null)
- {
- playView.loveBtn.IsSelected = true;
- }
- else
- {
- playView.loveBtn.IsSelected = false;
- }
- }
- else
- {
- var v = A31MusicModel.Current.LoveMusicInfoList.Find((like) =>
- {
- return like.URL == A31MusicModel.Current.A31PlayStatus.TrackURL;
- });
- if (v != null)
- {
- playView.loveBtn.IsSelected = true;
- }
- else
- {
- playView.loveBtn.IsSelected = false;
- }
- }
- playView.regionBtn.Text = A31MusicModel.Current.GetRoomListName();
- if (A31MusicModel.Current.collect)
+ //if (A31MusicModel.Current.A31PlayStatus.Source == "RADIO-NETWORK")
+ //{
+ // var v = A31MusicModel.Current.LoveRadioInfoList.Find((like) =>
+ // {
+ // return like.URL == A31MusicModel.Current.A31PlayStatus.TrackURL;
+ // });
+ // if (v != null)
+ // {
+ // playView.loveBtn.IsSelected = true;
+ // }
+ // else
+ // {
+ // playView.loveBtn.IsSelected = false;
+ // }
+ //}
+ //else
+ //{
+ // var v = A31MusicModel.Current.LoveMusicInfoList.Find((like) =>
+ // {
+ // return like.URL == A31MusicModel.Current.A31PlayStatus.TrackURL;
+ // });
+ // if (v != null)
+ // {
+ // playView.loveBtn.IsSelected = true;
+ // }
+ // else
+ // {
+ // playView.loveBtn.IsSelected = false;
+ // }
+ //}
+ playView.regionBtn.Text = A31MusicModel.Current.functionMusic.GetRoomListName();
+ if (A31MusicModel.Current.functionMusic.collect)
{
playView.collectIconBtn.IsSelected = true;
}
@@ -399,7 +419,7 @@
//鏇存柊鎾斁鍣ㄩ煶閲忕粰绯荤粺闊抽噺
Volume.MusicVolume = playView.volSeekBar.Progress;
//褰撳墠鎾斁闊充箰鏃堕棿
- int playSecond = int.Parse(A31MusicModel.Current.A31PlayStatus.curpos) / 1000 + (int)(DateTime.Now - A31MusicModel.Current.LastDateTime).TotalSeconds;
+ int playSecond = int.Parse(A31MusicModel.Current.functionMusic.GetAttrState("playing_time"))+ (int)(DateTime.Now - A31MusicModel.Current.LastDateTime).TotalSeconds;
int playMusicMinute = playSecond / 60;
//绉掗挓
@@ -407,7 +427,7 @@
string playTime = (playMusicMinute.ToString().Length < 2 ? "0" + playMusicMinute.ToString() : playMusicMinute.ToString()) + ":" + (playMusicSecond.ToString().Length < 2 ? "0" + playMusicSecond.ToString() : playMusicSecond.ToString());
- if (A31MusicModel.Current.A31PlayStatus.status == "play")
+ if (A31MusicModel.Current.functionMusic.GetAttrState("on_off") == "on")
{
playView.playBtn.IsSelected = true;
//濡傛灉鍦ㄦ挱鏀撅紝鏃堕棿灏变笉鏂彉鍖�
@@ -430,10 +450,10 @@
//鍋滄鎾斁
playView.startTimeBtn.Text =playTime;
}
- playView.songNameTextView.Text = (A31MusicModel.Current.A31PlayStatus.Title == null ? "Unkown" : A31MusicModel.Current.A31PlayStatus.Title);
- playView.singerBtn.Text = (A31MusicModel.Current.A31PlayStatus.Artist == null ? "Unkown" : A31MusicModel.Current.A31PlayStatus.Artist.Trim());
+ playView.songNameTextView.Text = A31MusicModel.Current.functionMusic.GetAttrState("song_name") == null ? "Unkown" : A31MusicModel.Current.functionMusic.GetAttrState("song_name");
+ playView.singerBtn.Text = A31MusicModel.Current.functionMusic.GetAttrState("song_name") == null ? "Unkown" : A31MusicModel.Current.functionMusic.GetAttrState("song_name");
//鏇存柊婧愮殑鐣岄潰
- showSourcePage();
+ // showSourcePage();
}
catch (Exception e)
{
@@ -469,7 +489,7 @@
playView.diyArcSeekBar.IsClickable = true;
- switch (A31MusicModel.Current.A31PlayStatus.Source)
+ switch (A31MusicModel.Current.functionMusic.GetAttrState("source"))
{
case "QPLAY"://QQ闊充箰
@@ -539,91 +559,20 @@
/// 鍔犺浇鎾斁闊充箰鍒楄〃View
/// </summary>
/// <param name="verticalScrolViewLayout"></param>
- void PlayListView(FrameLayout frameLayout, VerticalRefreshLayout verticalScrolViewLayout, string playListName)
+ void PlayListView(FrameLayout frameLayout, VerticalRefreshLayout verticalScrolViewLayout)
{
verticalScrolViewLayout.RemoveAll();
- UI2.FuntionControlView.Music.UpdateThread.playMusuc(verticalScrolViewLayout,"鎾斁鍒楄〃", playListName, A31MusicModel.Current.CurrentPlayMusicInfoList,A31MusicModel.Current,frameLayout);
+ var listName = A31MusicModel.Current.functionMusic.GetAttribute("playlist_name").ToString();
+ var musicList = A31MusicModel.Current.GetSongList(listName);
+ UI2.FuntionControlView.Music.UpdateThread.PlayMusicClick(verticalScrolViewLayout,"鎾斁鍒楄〃", listName, musicList, frameLayout);
}
/// <summary>
/// 瀹氭椂鏇存柊褰撳墠鎾斁闊充箰
/// </summary>
void UpdateSelectedMusic(FrameLayout frameLayout, VerticalRefreshLayout middViewLayout)
{
- UI2.FuntionControlView.Music.UpdateThread.updateThread(frameLayout, middViewLayout, A31MusicModel.Current);
+ UI2.FuntionControlView.Music.UpdateThread.updateCurrMusicThread(frameLayout, middViewLayout, A31MusicModel.Current);
}
- /// <summary>
- /// 璇诲彇鎾斁闊充箰鍒楄〃
- /// </summary>
- /// <param name="action"></param>
- void GetMusicList(Action<string> action) {
- System.Threading.Tasks.Task.Run(() =>
- {
- string playListName = "List";
- string sourceName = "SourceName";
- try
- {
- if (A31MusicModel.Current.A31PlayStatus.Source == "STATION-NETWORK")
- {
- A31MusicModel.Current.CurrentPlayMusicInfoList = new List<MusicInfo>();
- return;
- }
- if (A31MusicModel.Current.A31PlayStatus.Source == "AIRPLAY")
- {
- A31MusicModel.Current.CurrentPlayMusicInfoList = new List<MusicInfo>();
- return;
- }
- var playString = SendMethod.GetCurrentPlayList(A31MusicModel.Current);
- A31MusicModel.Current.CurrentPlayMusicInfoList = new List<MusicInfo>();
- var se = System.Security.SecurityElement.FromString(playString);
- while (se.Children != null)
- {
- se = se.Children[0] as System.Security.SecurityElement;
- }
- playListName = SecurityElement.FromString(se.Text).SearchForChildByTag("ListName").Text;
- sourceName = SecurityElement.FromString(se.Text).SearchForChildByTag("ListInfo").SearchForTextOfTag("SourceName");
- foreach (SecurityElement track in SecurityElement.FromString(se.Text).SearchForChildByTag("Tracks").Children)
- {
- MusicInfo musicInfo = new MusicInfo();
- musicInfo.URL = track.SearchForTextOfTag("URL").Replace("&", "&amp;");
- var metadata = track.SearchForTextOfTag("Metadata");
- musicInfo.SourceName = track.SearchForTextOfTag("Source");
- if (string.IsNullOrEmpty(metadata))
- {
- continue;
- }
- if (A31MusicModel.IsJson(metadata))
- {
- var qqSong = Newtonsoft.Json.JsonConvert.DeserializeObject<SendMethod.A31QQSong>(metadata);
- musicInfo.Album = qqSong.album;
- musicInfo.Title = qqSong.title;
- musicInfo.Artist = qqSong.creator;
- }
- else
- {
- metadata = metadata.Replace("<?xml version=\"1.0\" encoding=\"UTF-8\"?>", "").Replace("&", "&amp;");
- var item = SecurityElement.FromString(metadata).SearchForChildByTag("item");
- musicInfo.Title = item.SearchForTextOfTag("dc:title");
- musicInfo.Artist = item.SearchForTextOfTag("upnp:artist");
- musicInfo.Album = item.SearchForTextOfTag("upnp:album");
- musicInfo.Duration = item.SearchForTextOfTag("res");
- musicInfo.AlbumId = item.SearchForTextOfTag("song:albumid");
- }
- A31MusicModel.Current.CurrentPlayMusicInfoList.Add(musicInfo);
- }
- }
- catch { }
- finally
- {
- Application.RunOnMainThread(() =>
- {
- action(playListName);
- //loading.Hide();
- //PlayListView(myListView.popFra, myListView.verticalScrolViewLayout, playListName);
- //UpdateSelectedMusic(myListView.popFra, myListView.verticalScrolViewLayout);
- });
- }
- });
-
- }
+
}
}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31Radio.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31Radio.cs
index bd119b9..b912f39 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31Radio.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31Radio.cs
@@ -126,7 +126,7 @@
{
if (childNodes.Name == "outline" && childNodes.Attributes["URL"] != null)
{
- MusicInfo musicInfoCN = new MusicInfo();
+ Songs musicInfoCN = new Songs();
musicInfoCN.URL = childNodes.Attributes["URL"] == null ? "" : childNodes.Attributes["URL"].Value;
musicInfoCN.Title = childNodes.Attributes["text"] == null ? "" : childNodes.Attributes["text"].Value;
musicInfoCN.Image = childNodes.Attributes["image"] == null ? "" : childNodes.Attributes["image"].Value;
@@ -149,7 +149,7 @@
{
if (a.Name == "outline")
{
- MusicInfo musicInfoCN = new MusicInfo();
+ Songs musicInfoCN = new Songs();
musicInfoCN.URL = a.Attributes["URL"] == null ? "" : a.Attributes["URL"].Value;
musicInfoCN.Title = a.Attributes["text"] == null ? "" : a.Attributes["text"].Value;
@@ -224,8 +224,8 @@
switch (v.Name)
{
case "outline":
- MusicInfo musicInfo = new MusicInfo();
- musicInfo.Title = v.Attributes["text"].Value;
+ Songs musicInfo = new Songs();
+ musicInfo.name = v.Attributes["text"].Value;
musicInfo.URL = v.Attributes["URL"].Value;
musicInfo.Cnkey = v.Attributes["key"].Value;
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31RadioList.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31RadioList.cs
index 9ad5b09..6470d48 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31RadioList.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31RadioList.cs
@@ -245,7 +245,7 @@
{
if (childNodes.Name == "outline" && childNodes.Attributes["URL"] != null)
{
- MusicInfo musicInfoCN = new MusicInfo();
+ Songs musicInfoCN = new Songs();
musicInfoCN.URL = childNodes.Attributes["URL"] == null ? "" : childNodes.Attributes["URL"].Value;
musicInfoCN.Title = childNodes.Attributes["text"] == null ? "" : childNodes.Attributes["text"].Value;
//musicInfoCN.Image = childNodes.Attributes["image"] == null ? "" : childNodes.Attributes["image"].Value;
@@ -275,7 +275,7 @@
{
if (a.Name == "outline")
{
- MusicInfo musicInfoCN = new MusicInfo();
+ Songs musicInfoCN = new Songs();
musicInfoCN.URL = a.Attributes["URL"] == null ? "" : a.Attributes["URL"].Value;
musicInfoCN.Title = a.Attributes["text"] == null ? "" : a.Attributes["text"].Value;
if (a.Attributes["image"] != null)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31SongPlay.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31SongPlay.cs
new file mode 100644
index 0000000..349bac5
--- /dev/null
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31SongPlay.cs
@@ -0,0 +1,81 @@
+锘縰sing System;
+using Shared;
+using HDL_ON.UI.Music;
+using System.Collections.Generic;
+
+namespace HDL_ON.UI.Music
+{
+
+ public class A31SongPlay : FrameLayout
+ {
+ public A31SongPlay()
+ {
+ Tag = "Music";
+ }
+
+ public void Show(List<Songs> musicList,string listName)
+ {
+
+ this.BackgroundColor = MusicColor.ViewColor;
+ var topView = new TopView();
+ this.AddChidren(topView.TopFLayoutView());
+ topView.topNameBtn.TextID = StringId.usb;
+ topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
+ {
+ this.RemoveFromParent();
+ };
+ var vv = new VerticalRefreshLayout
+ {
+ BackgroundColor = MusicColor.WhiteColor,
+ Y = topView.fLayout.Bottom,
+ Height = Application.GetRealHeight(H_W.H - H_W.T_Height),
+ };
+ this.AddChidren(vv);
+ ///鍔犺浇闊充箰鍒楄〃
+ SongListView(vv, musicList, listName);
+
+
+ }
+ /// <summary>
+ /// 鍔犺浇闊充箰鍒楄〃
+ /// </summary>
+ /// <param name="vv">鐖舵帶浠�</param>
+ /// <param name="musicList">闊充箰鍒楄〃</param>
+ /// <param name="listName">鍒楄〃鍚�</param>
+ public void SongListView(VerticalRefreshLayout vv,List<Songs> musicList,string listName) {
+
+ for (int i = 0; i < musicList.Count; i++)
+ {
+ var songs = musicList[i];
+ if (songs == null)
+ {
+ continue;
+ }
+ UI.Music.View.SongView songView = new UI.Music.View.SongView();
+ songView.SongFrameLayout(vv, songs);
+ songView.singerBtn.Text = songs.name;
+ ///鐐瑰嚮鎾斁浜嬩欢
+ songView.clickBtn.MouseUpEventHandler += (sender, e) =>
+ {
+ System.Threading.Tasks.Task.Run(() =>
+ {
+ System.Threading.Thread.Sleep(50);
+ Application.RunOnMainThread(() =>
+ {
+ //绉婚櫎鐣岄潰
+ A31MusicModel.Current.functionMusic.SetAttrState("song_name", songView.songBtn.Text);
+ A31MusicModel.Current.functionMusic.SetAttrState("playlist_name", listName);
+ MainPage.BasePageView.RemoveViewByTag("Music");
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("song_name", songView.songBtn.Text);
+ dic.Add("playlist_name", listName);
+ SendMethod.sendMethod.SendControlCommand(A31MusicModel.Current.functionMusic, dic);
+ });
+ });
+ };
+
+ }
+
+ }
+ }
+}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31USBMusicList.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31USBMusicList.cs
index 3faba9c..8e70d6e 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31USBMusicList.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31USBMusicList.cs
@@ -54,9 +54,16 @@
// });
// }
//});
- var list = SendMethod.GetUsbList(A31MusicModel.Current);
+
A31MusicModel.Current.USBList.Clear();
- A31MusicModel.Current.USBList.AddRange(list);
+ var list = SendMethod.GetUsbList(A31MusicModel.Current);
+ foreach (var song in list) {
+ Songs music = new Songs();
+ music.name = song.Title;
+ music.size = song.Size;
+ music.time = song.Duration;
+ A31MusicModel.Current.USBList.Add(music);
+ }
Show();
middViewLayout.EndHeaderRefreshing();
};
@@ -68,14 +75,14 @@
public void Show()
{
middViewLayout.RemoveAll();
- UI2.FuntionControlView.Music.UpdateThread.playMusuc(middViewLayout, "USB", "USBDiskQueue",A31MusicModel.Current.USBList, A31MusicModel.Current);
+ UI2.FuntionControlView.Music.UpdateThread.PlayMusicClick(middViewLayout, "USB", "USBDiskQueue",A31MusicModel.Current.USBList);
}
/// <summary>
/// 瀹氭椂鏇存柊褰撳墠鎾斁闊充箰
/// </summary>
public void UpdateSelectedMusic()
{
- UI2.FuntionControlView.Music.UpdateThread.updateThread(this, middViewLayout, A31MusicModel.Current);
+ UI2.FuntionControlView.Music.UpdateThread.updateCurrMusicThread(this, middViewLayout, A31MusicModel.Current);
}
}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs
index 01c7106..5ef69f3 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/MusicMain.cs
@@ -3,6 +3,8 @@
using Shared;
using Shared.IO;
using System.Net;
+using HDL_ON.Entity;
+
namespace HDL_ON.UI.Music
{
public class MusicMain : FrameLayout
@@ -56,19 +58,22 @@
/// <summary>
/// 鏄剧ず鍔犺浇鐣岄潰
/// </summary>
- public static Loading loading = new Loading();
+ public static Loading loading = new Loading();
/// <summary>
/// 瀹氫箟鍏ㄥ眬瀵硅薄
/// </summary>
VerticalRefreshLayout verticalRefresh;
+ /// <summary>
+ /// 涓轰簡闊充箰鍒锋柊鐘舵�佸畾涔夊叏灞�瀵硅薄
+ /// </summary>
+ MusicView musicView = new MusicView();
public void Show()
{
-
#region 鐣岄潰甯冨眬
this.BackgroundColor = MusicColor.ViewColor;
var topView = new TopView();
this.AddChidren(topView.TopFLayoutView());
- topView.topNameBtn.TextID =StringId.a31Music;
+ topView.topNameBtn.TextID = StringId.a31Music;
topView.clickBackBtn.MouseUpEventHandler += (sender, e) =>
{
RemoveFromParent();
@@ -84,200 +89,86 @@
verticalRefresh.BeginHeaderRefreshingAction += () =>
{
- SeachMusic(false);
+
+ SeachMusic();
+ verticalRefresh.EndHeaderRefreshing();
};
this.AddChidren(loading);
+ SeachMusic();
- if (A31MusicModel.A31MusicModelList.Count == 0)
- {
- SeachMusic(true);
- }
- else
- {
- clearA31Threads();
- //verticalRefresh.RemoveAll();
- for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++)
- {
- var a31player = A31MusicModel.A31MusicModelList[i];
- ///杩欎釜鐘舵�佹槸涔嬪墠淇濆瓨鐨勶紝鍔犺浇瀹屾垚鍚庤鏍囪涓轰笉鍦ㄧ嚎锛屽悗闈㈠啀璇诲彇姝g‘鐨勭姸鎬�
- if (!a31player.IsCanShow)
- {
- continue;
- }
- if (A31MusicModel.A31MusicModelList.Count - 1 == i)
- {
- a31player.IsEnd = true;
- }
- else
- {
- a31player.IsEnd = false;
- }
- ///鍔犺浇鐣岄潰鏃堕粯璁や笉鍦ㄧ嚎
- ///杩欓噷鏍囪鏄负浜嗕笉璇诲彇涓嶅湪绾挎挱鏀惧櫒鐘舵��
- a31player.IsOnLine = false;
- MusicListView(a31player);
- }
- ///璇诲彇姝g‘鐨勪俊鎭紝鍖呮嫭IP鍜岀鍙e強鍚嶇О
- SendMethod.Seach((obj) =>
- {
- try
- {
- if (obj == null)
- {
- ///杩欓噷瑕佽鍙栦富浠庡叧绯�
- readServerOrClientMode();
- A31MusicModel.Save();
- return;
- }
- var a31MusicModel = A31MusicModel.A31MusicModelList.Find((music) => music.UniqueDeviceName == obj.UniqueDeviceName);
- if (a31MusicModel != null)
- {
- a31MusicModel.IPAddress = obj.IPAddress;
- a31MusicModel.Port = obj.Port;
- a31MusicModel.Name = obj.Name;
- a31MusicModel.IsCanShow = true;
- a31MusicModel.IsOnLine = true;
- }
- }
- catch (Exception e) { MainPage.Log(e.Message); }
- });
- }
}
/// <summary>
/// 鍒锋柊鎾斁鍣ㄥ垪琛�
/// </summary>
- /// <param name="Yes">鏄惁鏄剧ず鍒锋柊鍥炬爣</param>
- void SeachMusic(bool Yes = false)
+ void SeachMusic()
{
- for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++)
+ Application.RunOnMainThread(() =>
{
- var a31player = A31MusicModel.A31MusicModelList[i];
- a31player.IsCanShow = false;
- a31player.IsOnLine = false;
- }
- if (Yes)
- {
- //涓轰簡绗竴娆¤繘鏉og涓�涓�;
- loading.Start();
- }
- SendMethod.Seach((obj) =>
- {
- if (obj == null)
- {
- readServerOrClientMode();
- A31MusicModel.Save();
- if (!Yes)
- {
- ///绛夊緟璺戝畬鍦ㄥ叧闂�
- verticalRefresh.EndHeaderRefreshing();
- }
- Application.RunOnMainThread(() =>
- {
- if (Yes)
- {
- //涓轰簡绗竴娆¤繘鏉og涓�涓�;
- loading.Hide();
- }
- verticalRefresh.RemoveAll();
- for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++)
- {
- var a31player = A31MusicModel.A31MusicModelList[i];
- //杩欎釜鐘舵�佹槸涔嬪墠淇濆瓨鐨勶紝鍔犺浇瀹屾垚鍚庤鏍囪涓轰笉鍦ㄧ嚎锛屽悗闈㈠啀璇诲彇姝g‘鐨勭姸鎬�
- if (!a31player.IsCanShow)
- {
- continue;
- }
- if (A31MusicModel.A31MusicModelList.Count - 1 == i)
- {
- a31player.IsEnd = true;
- }
- else
- {
- a31player.IsEnd = false;
- }
- MusicListView(a31player);
- }
- //A31MusicModel.ReadMusicStates();
+ verticalRefresh.RemoveAll();
- });
- return;
- }
- var a31MusicModel = A31MusicModel.A31MusicModelList.Find((music) => { return music.UniqueDeviceName == obj.UniqueDeviceName; });
- if (a31MusicModel == null)
+ var musicListFunction = SendMethod.sendMethod.GetMusicList;
+ for (int i = 0; i < musicListFunction.Count; i++)
{
- //涓嶆槸鎴戜滑鏀寔鐨勫搧鐗屼笉鏀寔
- if (obj.Name != null)
+ var function = musicListFunction[i];
+ var music = A31MusicModel.A31MusicModelList.Find((music) => music.functionMusic.deviceId == function.deviceId);
+ if (music == null)
{
- obj.sid = "030101123456780909020123AABB" + obj.UniqueDeviceName;
- A31MusicModel.A31MusicModelList.Add(obj);
+ A31MusicModel.A31MusicModelList.Add(new A31MusicModel { functionMusic = function });
+ }
+ else
+ {
+ music.functionMusic = function;
}
}
- else
+
+
+ for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++)
{
- a31MusicModel.IPAddress = obj.IPAddress;
- a31MusicModel.Port = obj.Port;
- a31MusicModel.Name = obj.Name;
- a31MusicModel.IsCanShow = true;
- a31MusicModel.IsOnLine = true;
+ var a31player = A31MusicModel.A31MusicModelList[i];
+ MusicListView(a31player);
}
+
});
}
/// <summary>
/// 鏄剧ず闊充箰鍒楄〃鐨勬柟娉�
/// </summary>
- void MusicListView(A31MusicModel a31player)
+ void MusicListView(A31MusicModel player)
{
- MusicView musicView = new MusicView();
musicView.View(verticalRefresh);
- musicView.singerBtn.Text = a31player.A31PlayStatus.Artist;
- musicView.songNameBtn.Text = a31player.A31PlayStatus.Title;
- musicView.musicNameBtn.Text = new View.DialogView { }.NamePlayer(a31player);
- if (a31player.IsEnd)
- {
- musicView.muiscFl.Height = Application.GetRealHeight(12 + 139 + 12);
- }
+ musicView.singerBtn.Text = player.functionMusic.GetAttrState("song_name");
+ musicView.songNameBtn.Text = player.functionMusic.GetAttrState("song_name");
+ musicView.musicNameBtn.Text = player.functionMusic.name;
+ //if (player.IsEnd)
+ //{
+ // musicView.muiscFl.Height = Application.GetRealHeight(12 + 139 + 12);
+ //}
musicView.collectIconBtn.MouseUpEventHandler += (sender, e) =>
{
musicView.collectIconBtn.IsSelected = !musicView.collectIconBtn.IsSelected;
- if (a31player.ServerClientType == 1)
+ if (musicView.collectIconBtn.IsSelected)
{
- if (musicView.collectIconBtn.IsSelected)
- {
- a31player.MainPlayCollection = true;
- }
- else
- {
- a31player.MainPlayCollection = false;
- }
+ player.functionMusic.collect = true;
}
else
{
- if (musicView.collectIconBtn.IsSelected)
- {
- a31player.collect = true;
- }
- else
- {
- a31player.collect = false;
- }
+ player.functionMusic.collect = false;
}
- A31MusicModel.Save();
};
EventHandler<MouseEventArgs> clickMergence = (sender, e) =>
{
- if (a31player.ServerClientType == 0)
- {
- new View.DialogView { }.PlayMergence(a31player);
- }
- else if (a31player.ServerClientType == 1)
- {
- new View.DialogView { }.DetachPlayMergence(a31player);
-
- }
+ //if (player.ServerClientType == 0)
+ //{
+ // new View.DialogView { }.PlayMergence(player);
+ //}
+ //else if (player.ServerClientType == 1)
+ //{
+ // new View.DialogView { }.DetachPlayMergence(player);
+ //}
};
musicView.mergeBjBtn.MouseUpEventHandler += clickMergence;
musicView.mergeBtn.MouseUpEventHandler += clickMergence;
@@ -285,7 +176,8 @@
EventHandler<MouseEventArgs> clickPlayView = (sender, e) =>
{
- A31MusicModel.Current = a31player;//褰撳墠鎾斁鍣�
+
+ A31MusicModel.Current = player;
var a31PlayMusicPage = new A31PlayMusicPage();
MainPage.BasePageView.AddChidren(a31PlayMusicPage);
a31PlayMusicPage.Show();
@@ -302,7 +194,10 @@
musicView.prevBtn.MouseDownEventHandler += (sender, e) =>
{
musicView.prevBtn.IsSelected = true;
- SendMethod.Previous(a31player);
+ player.functionMusic.SetAttrState("song_step", "up");
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("song_step", "up");
+ SendMethod.sendMethod.SendControlCommand(player.functionMusic, dic);
};
musicView.prevBtn.MouseUpEventHandler += (sender, e) =>
{
@@ -311,24 +206,30 @@
///鏆傚仠/鎾斁鐐瑰嚮浜嬩欢
musicView.playBtn.MouseDownEventHandler += (sender, e) =>
{
+ string status = "off";
if (musicView.playBtn.IsSelected)
{
musicView.playBtn.IsSelected = false;
- SendMethod.Pause(a31player);
- a31player.A31PlayStatus.status = "pause";
+ status = "off";
}
else
{
musicView.playBtn.IsSelected = true;
- SendMethod.Play(a31player);
- a31player.A31PlayStatus.status = "play";
+ status = "on";
}
+ player.functionMusic.SetAttrState("on_off", status);
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("on_off", status);
+ SendMethod.sendMethod.SendControlCommand(player.functionMusic, dic);
};
///涓嬩竴鏇茬偣鍑讳簨浠�
musicView.nextBtn.MouseDownEventHandler += (sender, e) =>
{
musicView.nextBtn.IsSelected = true;
- SendMethod.Next(a31player);
+ player.functionMusic.SetAttrState("song_step", "down");
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("song_step", "down");
+ SendMethod.sendMethod.SendControlCommand(player.functionMusic, dic);
};
musicView.nextBtn.MouseUpEventHandler += (sender, e) =>
{
@@ -340,17 +241,20 @@
while (true)
{
System.Threading.Thread.Sleep(1000);
- if (!a31player.IsOnLine)
+ if (!player.functionMusic.online)
{
+ ///涓嶅湪绾夸笉璇荤姸鎬�
continue;
}
- SendMethod.ReadStatus(a31player);
+ //SendMethod.ReadStatus(player);
+ SendMethod.sendMethod.RefreshDeviceStatus(player.functionMusic,new List<string> { player.functionMusic.deviceId });
+
Application.RunOnMainThread(() =>
{
- musicView.singerBtn.Text = a31player.A31PlayStatus.Artist;
- musicView.songNameBtn.Text = a31player.A31PlayStatus.Title;
- musicView.musicNameBtn.Text = new View.DialogView { }.NamePlayer(a31player);
- if (a31player.A31PlayStatus.status == "play")
+ musicView.singerBtn.Text = player.functionMusic.GetAttrState("song_name");
+ musicView.songNameBtn.Text = player.functionMusic.GetAttrState("song_name");
+ musicView.musicNameBtn.Text = player.functionMusic.name;
+ if (player.A31PlayStatus.status == "play")
{
musicView.playBtn.IsSelected = true;
}
@@ -358,10 +262,10 @@
{
musicView.playBtn.IsSelected = false;
}
- musicView.regionBtn.Text = a31player.GetRoomListName();
- if (a31player.ServerClientType == 1)
+ musicView.regionBtn.Text = player.functionMusic.GetRoomListName();
+ if (player.ServerClientType == 1)
{
- if (a31player.MainPlayCollection)
+ if (player.MainPlayCollection)
{
musicView.collectIconBtn.IsSelected = true;
}
@@ -372,7 +276,7 @@
}
else
{
- if (a31player.collect)
+ if (player.functionMusic.collect)
{
musicView.collectIconBtn.IsSelected = true;
}
@@ -388,99 +292,67 @@
musicThread.Start();
threadLists.Add(musicThread);
}
+
/// <summary>
- /// 璇诲彇涓讳粠鍏崇郴
+ ///鎸囧畾鍒锋柊鐣岄潰
/// </summary>
- void readServerOrClientMode()
+ /// <param name="strView">鍒ゆ柇瀛楃</param>
+ public void RefreshView(string strView)
{
- try
+ Application.RunOnMainThread(() =>
{
- for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++)
+ try
{
- var a31player = A31MusicModel.A31MusicModelList[i];
- if (!a31player.IsOnLine)
+
+ for (int i = MainPage.BasePageView.ChildrenCount - 1; 0 <= i; i--)
{
- continue;
- }
- try
- {
- a31player.ServerClientType = 0;
- var result = SendMethod.OpenWeb("http://" + a31player.IPAddress + "/httpapi.asp?command=multiroom:getSlaveList");
- if (result == null && result == "Failed")
+ var view = MainPage.BasePageView.GetChildren(i);
+ if (strView == view.Tag.ToString())
{
- result = SendMethod.OpenWeb("http://" + a31player.IPAddress + "/httpapi.asp?command=multiroom:getSlaveList");
- }
- if (result != null && result != "Failed")
- {
- a31player.Slave = Newtonsoft.Json.JsonConvert.DeserializeObject<Slaves>(result);
- }
- }
- catch (Exception e)
- {
- var d = e.Message;
- }
- }
-
- //鍒嗘瀽涓讳粠鍏崇郴
- for (int i = 0; i < A31MusicModel.A31MusicModelList.Count; i++)
- {
- var a31player = A31MusicModel.A31MusicModelList[i];
- if (!a31player.IsOnLine)
- {
- continue;
- }
- try
- {
- if (a31player.Slave != null && "0" != a31player.Slave.slaves)
- {
- a31player.ServerClientType = 1;//涓荤殑
- string str = a31player.Name;
- for (int j = 0; j < a31player.Slave.slave_list.Count; j++)
+ if (view.GetType() == typeof(MusicMain))
{
-
- var slave = a31player.Slave.slave_list[j];
- str = str + "+" + slave.name;
- var tempA31Player = A31MusicModel.A31MusicModelList.Find((obj) => slave.uuid.Replace("uuid:", "") == obj.UniqueDeviceName);
- if (tempA31Player == null)
- {
- A31MusicModel.A31MusicModelList.Add(new A31MusicModel
- {
- sid = "030101123456780909020123AABB" + slave.uuid.Replace("uuid:", ""),
- ServerClientType = -1,//浠庣殑
- IPAddress = slave.ip,
- MainPlayIP = a31player.IPAddress,
- UniqueDeviceName = slave.uuid.Replace("uuid:", ""),
- Name = slave.name,
- IsCanShow = false,
- IsOnLine = false,//true浣滅敤涓轰簡璇诲彇浠庢挱鏀惧櫒鐨勯煶閲�
- });
- }
- //濡傛灉鎵惧埌灏辨洿鏂颁负浠庣殑
- else
- {
- tempA31Player.ServerClientType = -1;//浠庣殑
- tempA31Player.IPAddress = slave.ip;
- tempA31Player.MainPlayIP = a31player.IPAddress;
- tempA31Player.Name = slave.name;
- tempA31Player.UniqueDeviceName = slave.uuid.Replace("uuid:", "");
- tempA31Player.IsCanShow = false;
- tempA31Player.IsOnLine = false;//true浣滅敤涓轰簡璇诲彇浠庢挱鏀惧櫒鐨勯煶閲�
-
- }
+ //musicView.singerBtn.Text = player.A31PlayStatus.Artist;
+ //musicView.songNameBtn.Text = player.A31PlayStatus.Title;
+ //musicView.musicNameBtn.Text = new View.DialogView { }.NamePlayer(player);
+ //if (player.A31PlayStatus.status == "play")
+ //{
+ // musicView.playBtn.IsSelected = true;
+ //}
+ //else
+ //{
+ // musicView.playBtn.IsSelected = false;
+ //}
+ //musicView.regionBtn.Text = player.GetRoomListName();
+ //if (player.ServerClientType == 1)
+ //{
+ // if (player.MainPlayCollection)
+ // {
+ // musicView.collectIconBtn.IsSelected = true;
+ // }
+ // else
+ // {
+ // musicView.collectIconBtn.IsSelected = false;
+ // }
+ //}
+ //else
+ //{
+ // if (player.collect)
+ // {
+ // musicView.collectIconBtn.IsSelected = true;
+ // }
+ // else
+ // {
+ // musicView.collectIconBtn.IsSelected = false;
+ // }
+ //}
}
- a31player.MainPlayName = str;
}
- }
- catch (Exception e)
- {
- var ss = e.Message;
+
}
}
-
- }
- catch { }
+ catch { }
+ });
}
-
}
}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
index dd36144..bb8f901 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/SendMethod.cs
@@ -4,12 +4,28 @@
using System.Net.Sockets;
using System.Security;
using System.Text;
+using HDL_ON.DAL.Server;
+using HDL_ON.Entity;
using Shared;
namespace HDL_ON.UI.Music
{
public class SendMethod
{
+ private static SendMethod m_sendMethod=null;
+ public static SendMethod sendMethod
+ {
+ get
+ {
+ if (m_sendMethod == null)
+ {
+ m_sendMethod = new SendMethod();
+ }
+ return m_sendMethod;
+ }
+
+ }
+
/// <summary>
///鎼滅储A31闊充箰鎾斁鍣�
/// </summary>
@@ -209,7 +225,7 @@
a31MusicModel.A31PlayStatus.loop = se.SearchForTextOfTag("LoopMode");
a31MusicModel.A31PlayStatus.Source = se.SearchForTextOfTag("PlayMedium");
a31MusicModel.A31PlayStatus.playSource = se.SearchForTextOfTag("TrackSource");
- a31MusicModel.A31PlayStatus.TrackURL = se.SearchForTextOfTag("TrackURI").Replace("&", "&amp;");
+ a31MusicModel.A31PlayStatus.TrackURL = se.SearchForTextOfTag("TrackURI").Replace("&", "&amp;");
}
catch (Exception ex)
@@ -221,12 +237,12 @@
#region 鏇存柊鍏朵粬鐣岄潰闊充箰鐘舵��
Application.RunOnMainThread(() =>
{
- a31MusicModel.trait_on_off.curValue = a31MusicModel.A31PlayStatus.status == "play" ? "on" : "off";
+ //a31MusicModel.trait_on_off.curValue = a31MusicModel.A31PlayStatus.status == "play" ? "on" : "off";
//Console.WriteLine($"music : {a31MusicModel.sid} : {a31MusicModel.on_off}");
- HomePage.UpdataFunctionStates(a31MusicModel);
+ HomePage.UpdataFunctionStates(a31MusicModel.functionMusic);
foreach (var e in A31MusicModel.A31MusicModelList)
{
- RoomPage.UpdataStates(a31MusicModel);
+ RoomPage.UpdataStates(e.functionMusic);
}
});
#endregion
@@ -463,7 +479,8 @@
/// <param name="volume">Volume.</param>
public static void ControlVolume(int volume, A31MusicModel a31player)
{
- System.Threading.Tasks.Task.Run(() => {
+ System.Threading.Tasks.Task.Run(() =>
+ {
A31MusicModel.ProgressDateTime = DateTime.Now;
try
{
@@ -501,9 +518,9 @@
/// <summary>
/// 鑾峰彇USb鐨勫垪琛�
/// </summary>
- public static List<MusicInfo> GetUsbList(A31MusicModel a31player)
+ public static List<Songs> GetUsbList(A31MusicModel a31player)
{
- var musicInfoList = new List<MusicInfo>();
+ var musicInfoList = new List<Songs>();
musicInfoList.Clear();
var usbString = GetUSBPlayList(a31player);
if (usbString == null)
@@ -522,11 +539,11 @@
foreach (SecurityElement track in SecurityElement.FromString(se.Text).SearchForChildByTag("Tracks").Children)
{
- MusicInfo musicInfo = new MusicInfo();
+ Songs musicInfo = new Songs();
musicInfo.URL = track.SearchForTextOfTag("URL").Replace("&", "&amp;");
var metadata = track.SearchForTextOfTag("Metadata").Replace("&", "&");
var item = SecurityElement.FromString(metadata).SearchForChildByTag("item");
- musicInfo.Title = item.SearchForTextOfTag("dc:title").Replace("&", "&amp;");
+ musicInfo.Title = item.SearchForTextOfTag("dc:title").Replace("&", "&amp;");
musicInfo.Artist = item.SearchForTextOfTag("upnp:artist").Replace("&", "&amp;");
musicInfo.Album = item.SearchForTextOfTag("upnp:album").Replace("&", "&amp;");
musicInfo.Duration = item.SearchForTextOfTag("res");
@@ -597,7 +614,7 @@
/// <summary>
/// 鑾峰彇褰撳墠鎾斁鐨勫垪琛�
/// </summary>
- public static string GetCurrentPlayList(A31MusicModel a31player)
+ public static string GetCurrentPlayList(A31MusicModel a31player)
{
System.Text.StringBuilder getPlayList = new System.Text.StringBuilder();
getPlayList.AppendLine("<?xml version=\"1.0\"encoding=\"utf-8\"?>");
@@ -656,7 +673,7 @@
/// <param name="musicInfo">鎾斁闊充箰</param>
/// <param name="listName">鍒楄〃鍚嶇О</param>
/// <param name="musicList">鎺ㄩ�佸垪琛�(榛樿鎺�50棣�)</param>
- public static void PushList(MusicInfo musicInfo, string listName, List<MusicInfo> musicList, A31MusicModel a31player,string musicSource)
+ public static void PushList(MusicInfo musicInfo, string listName, List<MusicInfo> musicList, A31MusicModel a31player, string musicSource)
{
//鏈�澶у彂閫佺殑鏉℃暟
@@ -739,10 +756,12 @@
sb.AppendLine("&lt;dc:title&gt;" + tempMusicInfo.Title + "&lt;/dc:title&gt;");
sb.AppendLine("&lt;dc:creator&gt;DJ Sanny J&lt;/dc:creator&gt;");
- if (musicSource== "鎴戠殑鍒楄〃") {
+ if (musicSource == "鎴戠殑鍒楄〃")
+ {
sb.AppendLine("&lt;upnp:artist&gt;" + listName + "&lt;/upnp:artist&gt;");
}
- else {
+ else
+ {
sb.AppendLine("&lt;upnp:artist&gt;" + tempMusicInfo.Artist + "&lt;/upnp:artist&gt;");
}
sb.AppendLine("&lt;upnp:album&gt;" + tempMusicInfo.Album + "&lt;/upnp:album&gt;");
@@ -778,7 +797,7 @@
Play(a31player.IPAddress, a31player.Port, playString.ToString());
}
- static void SendMusicLists(string ip, int port, string soapAction, string listInfo)
+ static void SendMusicLists(string ip, int port, string soapAction, string listInfo)
{
System.Net.WebClient webClient = new System.Net.WebClient();
webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#" + soapAction + "\"");
@@ -788,13 +807,13 @@
byte[] recevieBytes = webClient.UploadData(new Uri("http://" + ip + ":" + port + "/upnp/control/PlayQueue1"), "POST", System.Text.Encoding.UTF8.GetBytes(listInfo));
var s = System.Text.Encoding.UTF8.GetString(recevieBytes, 0, recevieBytes.Length);
}
- catch(Exception e)
+ catch (Exception e)
{
var d = e.Message;
}
}
- static void Play(string ip, int port, string info)
+ static void Play(string ip, int port, string info)
{
System.Net.WebClient webClient = new System.Net.WebClient();
webClient.Headers.Add("SOAPACTION", "\"urn:schemas-wiimu-com:service:PlayQueue:1#PlayQueueWithIndex\"");
@@ -882,5 +901,104 @@
public string creator = string.Empty;
}
+ /// <summary>
+ /// 鑾峰彇闊充箰鍒楄〃
+ /// </summary>
+ public List<Function> GetMusicList
+ {
+ get
+ {
+ return FunctionList.List.GetMusicList();
+ }
+ }
+ /// <summary>
+ /// 鍙戦�佹帶鍒跺懡浠�
+ /// </summary>
+ /// <param name="function">褰撳墠璁惧</param>
+ /// <param name="dic">鍙戦�佹帶鍒舵暟鎹�</param>
+ public void SendControlCommand(Function function, Dictionary<string, string> dic)
+ {
+ new System.Threading.Thread(() =>
+ {
+ DriverLayer.Control.Ins.SendWriteCommand(function, dic);
+ })
+ { IsBackground = true }.Start();
+ }
+
+ /// <summary>
+ /// 鍒锋柊璁惧鐘舵��
+ /// </summary>
+ /// <returns></returns>
+ public void RefreshDeviceStatus(Function music, List<string> functionIds)
+ {
+ try
+ {
+ Dictionary<string, object> d = new Dictionary<string, object>();
+ d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+ d.Add("deviceIds", functionIds);
+ var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_RefreshDeviceStatus);
+ if (responsePackNew.Code != "0")
+ {
+ return;
+ }
+ //鏁版嵁杩斿簭鍒楀寲涓篎unction瀵硅薄
+ var str = Newtonsoft.Json.JsonConvert.SerializeObject(responsePackNew.Data.ToString());
+ var function = Newtonsoft.Json.JsonConvert.DeserializeObject<Function>(str);
+ if (function == null)
+ {
+ return;
+ }
+ music.name = function.name;
+ music.sid = function.sid;
+ music.spk = function.spk;
+ music.status = function.status;
+ music.roomIds = function.roomIds;
+ music.attributes = function.attributes;
+ }
+ catch { }
+ }
+
+ /// <summary>
+ /// 鑾峰彇闊充箰鍒楄〃
+ /// </summary>
+ /// <param name="music"></param>
+ /// <returns></returns>
+ public void GetPalyList(Function music)
+ {
+ try
+ {
+ Dictionary<string, object> d = new Dictionary<string, object>();
+ d.Add("homeId", DB_ResidenceData.Instance.CurrentRegion.id);
+ d.Add("deviceIds", new List<string> { music.deviceId });
+ var responsePackNew = RequestServerhomeId(d, NewAPI.Api_Post_PlayerList);
+ if (responsePackNew.Code != "0")
+ {
+ return;
+ }
+ //鏁版嵁杩斿簭鍒楀寲涓篎unction瀵硅薄
+ var str = Newtonsoft.Json.JsonConvert.SerializeObject(responsePackNew.Data.ToString());
+ var palyLists = Newtonsoft.Json.JsonConvert.DeserializeObject<List<PalyListInfo>>(str);
+ if (palyLists == null)
+ {
+ palyLists =new List<PalyListInfo>();
+ }
+ A31MusicModel.Current.palyListInfos = palyLists;
+ }
+ catch
+ {
+ }
+
+ }
+
+ /// <summary>
+ ///璇锋眰鏈嶅姟鍣紙涓庝綇瀹呮湁鍏�:渚嬪锛沨omeId锛�
+ /// </summary>
+ /// <returns></returns>
+ public ResponsePackNew RequestServerhomeId(object o, string api_Url, int mTimeout = 5)
+ {
+ var requestJson = HttpUtil.GetSignRequestJson(o);
+ return HttpUtil.RequestHttpsPostFroHome(api_Url, requestJson, mTimeout);
+
+ }
}
}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/UpdateThread.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/UpdateThread.cs
index 664c342..0f2196d 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/UpdateThread.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/UpdateThread.cs
@@ -15,7 +15,7 @@
/// <param name="frame">褰撳墠鐣岄潰</param>
/// <param name="middViewLayout">姣忎竴鏉¢煶涔愮殑涓绘帶浠�</param>
/// <param name="a31MusicModel">鐐瑰墠鎾斁鍣�</param>
- public static void updateThread(FrameLayout frame, VerticalRefreshLayout middViewLayout, A31MusicModel a31MusicModel)
+ public static void updateCurrMusicThread(FrameLayout frame, VerticalRefreshLayout middViewLayout, A31MusicModel a31MusicModel)
{
System.Threading.Thread updateSelectedMusicThread = new System.Threading.Thread(() =>
{
@@ -68,7 +68,7 @@
/// <param name="listName">鎾斁鍒楄〃鍚�</param>
/// <param name="musicList">鎾斁闊充箰鍒楄〃</param>
/// <param name="a31MusicModel">闊充箰鎾斁鍣�</param>
- public static void playMusuc(VerticalRefreshLayout middViewLayout, string musicSource, string listName,List<MusicInfo> musicList, A31MusicModel a31MusicModel, FrameLayout frame=null)
+ public static void PlayMusicClick(VerticalRefreshLayout middViewLayout, string musicSource, string listName,List<Songs> musicList, FrameLayout frame=null)
{
for (int i = 0; i < musicList.Count; i++)
{
@@ -136,7 +136,7 @@
if (songView.loveIcon.IsSelected)
{
///鏌ユ壘闊充箰鏄惁瀛樺湪鍦ㄥ垪琛�
- var music1 = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL);
+ var music1 = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.name == songs.name);
if (music1 == null)
{
///娌℃湁瀛樺湪灏辨坊鍔�
@@ -146,7 +146,7 @@
else
{
///鏌ユ壘闊充箰鏄惁瀛樺湪鍦ㄥ垪琛�
- var music1 = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.URL == songs.URL);
+ var music1 = A31MusicModel.Current.LoveMusicInfoList.Find((m) => m.name == songs.name);
if (music1 != null)
{
///瀛樺湪灏卞垹闄�
@@ -175,22 +175,20 @@
Application.RunOnMainThread(() =>
{
//绉婚櫎鐣岄潰
- A31MusicModel.Current.A31PlayStatus.Title = songView.songBtn.Text;
if (frame != null)
{
frame.RemoveFromParent();
}
MainPage.BasePageView.RemoveViewByTag("Music");
+
+ A31MusicModel.Current.functionMusic.SetAttrState("song_name", songView.songBtn.Text);
+ A31MusicModel.Current.functionMusic.SetAttrState("playlist_name", listName);
+ Dictionary<string, string> dic = new Dictionary<string, string>();
+ dic.Add("song_name", songView.songBtn.Text);
+ dic.Add("playlist_name", listName);
System.Threading.Tasks.Task.Run(() =>
{
- if (musicSource == "鏈湴闊充箰"|| musicSource == "鎴戠殑鏈�鐖�"|| musicSource == "鎴戠殑鍒楄〃")
- {
- SendMethod.PushList(songs, listName, musicList, a31MusicModel,musicSource);
- }
- else if (musicSource == "USB"|| musicSource == "鎾斁鍒楄〃")
- {
- SendMethod.ListMusicPlay(listName, songView.clickBtn.Tag, A31MusicModel.Current);
- }
+ SendMethod.sendMethod.SendControlCommand(A31MusicModel.Current.functionMusic, dic);
});
});
});
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/View/DialogView.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/View/DialogView.cs
index 1c15666..f8cc250 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/View/DialogView.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/View/DialogView.cs
@@ -9,7 +9,7 @@
///寮圭獥鏂囦欢澶瑰垪琛ㄧ晫闈�
/// </summary>
/// <param name="musicInfo"></param>
- public void FieListView(MusicInfo musicInfo)
+ public void FieListView(Songs musicInfo)
{
#region
//涓绘帶浠�
@@ -114,7 +114,7 @@
FileView(dialog, verticalScrolViewLayout, musicInfo);
}
- void FileView(Dialog dialog, VerticalScrolViewLayout verticalScrolViewLayout, MusicInfo musicInfo)
+ void FileView(Dialog dialog, VerticalScrolViewLayout verticalScrolViewLayout, Songs musicInfo)
{
verticalScrolViewLayout.RemoveAll();
for (int i = 0; i < A31MusicModel.Current.FileLists.Count; i++)
@@ -207,7 +207,7 @@
EventHandler<MouseEventArgs> click = (sender, e) =>
{
- if (null == list.MusicInfoList.Find((music) => music.URL == musicInfo.URL))
+ if (null == list.MusicInfoList.Find((music) => music.name == musicInfo.name))
{
list.MusicInfoList.Add(musicInfo);
A31MusicModel.Save();
@@ -939,7 +939,7 @@
for (int j = 0; j < A31MusicModel.A31MusicModelList.Count; j++)
{
var music = A31MusicModel.A31MusicModelList[j];
- if(music.collect && !mainModelCollection)
+ if(music.functionMusic.collect && !mainModelCollection)
{
mainModelCollection = true;
}
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/View/MyListView.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/View/MyListView.cs
index c9b4aab..86bf14f 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/View/MyListView.cs
+++ b/HDL_ON/UI/UI2/FuntionControlView/Music/View/MyListView.cs
@@ -91,20 +91,21 @@
};
public void frameLayout(FrameLayout frame,A31MusicModel a31MusicModel)
{
- switch (a31MusicModel.A31PlayStatus.loop)
+ var mode= a31MusicModel.functionMusic.GetAttrState("mode");
+ switch (mode)
{
//0鍒楄〃寰幆锛�1鍗曟洸寰幆锛�2闅忔満鎾斁;
- case "0":
+ case "list_cycle":
orderIconBtn.UnSelectedImagePath = "MusicIcon/list.png";
orderTxetBtn.Text = Language.StringByID(StringId.listMode);
break;
- case "1":
+ case "single_cycle/order":
orderIconBtn.UnSelectedImagePath = "MusicIcon/single.png";
orderTxetBtn.Text = Language.StringByID(StringId.singleMode);
break;
- case "2":
+ case "random":
orderIconBtn.UnSelectedImagePath = "MusicIcon/random.png";
orderTxetBtn.Text = Language.StringByID(StringId.randomMode);
break;
--
Gitblit v1.8.0