From 592974441a4df95fffd9167c90192da1a390b1c2 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期二, 06 六月 2023 11:51:12 +0800 Subject: [PATCH] Merge branch 'Dev-Branch' --- HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs | 300 +++++++++++++++++++---------------------------------------- 1 files changed, 99 insertions(+), 201 deletions(-) diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs index 15371bc..fdf19dd 100644 --- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs +++ b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs @@ -13,86 +13,18 @@ static readonly string a31MusiceModeListFilePath = "A31MusiceModeListFilePath"; static A31MusicModel() { - Refresh(); + //Refresh(); } - static List<System.Threading.Thread> updataMusicStatesListThread = new List<System.Threading.Thread>(); - /// <summary> - /// 璇诲彇闊充箰鐘舵�� - /// </summary> - public static void ReadMusicStates() - { - RemoveListThread(); - if (GetCollection) - { - for (int i = 0; i < A31MusicModelList.Count; i++) - { - var a31player = A31MusicModelList[i]; - var musicThread = new System.Threading.Thread(() => - { - while (true) - { - System.Threading.Thread.Sleep(1000); - if (!a31player.IsOnLine) - { - continue; - } - SendMethod.ReadStatus(a31player); - } - }) - { IsBackground = true, Name = "A31" }; - musicThread.Start(); - updataMusicStatesListThread.Add(musicThread); - } - } - } + /// <summary> /// 闊充箰鍔熻兘 /// </summary> public Function functionMusic = new Function(); - /// <summary> - /// 绉婚櫎涔嬪墠鐨勭嚎绋� - /// </summary> - public static void RemoveListThread() - { - for (int i = 0; i < updataMusicStatesListThread.Count;) - { - try - { - var thread = updataMusicStatesListThread[i]; - if (thread.IsAlive) - { - thread.Abort(); - } - updataMusicStatesListThread.Remove(thread); - } - catch (Exception e) - { - MainPage.Log("clearA31Threads error : " + e.Message); - } - finally - { - MainPage.Log("clearA31Threads over"); - } - } - } - /// <summary> - /// 闊充箰鍒楄〃閲屾槸鍚︽湁闊充箰琚敹钘忚繃 - /// </summary> - static bool GetCollection - { - get - { - for (int i = 0; i < A31MusicModelList.Count; i++) - { - if (A31MusicModelList[i].functionMusic.collect) - { - return true; //鏌ヨ鏄惁鏈夐煶涔愯鏀惰棌杩� - } - } - return false; - } - } + + + + /// <summary> ///淇濆瓨褰撳墠闊充箰鍒楄〃 /// </summary> @@ -120,105 +52,48 @@ A31MusicModelList.RemoveAll((obj) => obj == null); } - /// <summary> - /// 闊充箰鎾斁鍣ㄥ悕绉� - /// </summary> - public string Name = string.Empty; + /// <summary> /// 涓婁竴娆℃洿鏂扮殑鏃堕棿 - /// 璁板綍鏁版嵁鍙嶉鐨勬椂闂�(鍥犱负鏈夋椂闂寸綉缁滃樊鏁版嵁涓嶅洖澶嶏紝瀵艰嚧鍒锋柊褰撳墠鎾斁闊充箰鏃堕棿涓嶆纭�) + /// 璁板綍鏁版嵁鍙嶉鐨勬椂闂�(鍥犱负鏈夋椂鍊欑綉缁滃樊鏁版嵁涓嶅洖澶嶏紝瀵艰嚧鍒锋柊褰撳墠鎾斁闊充箰鏃堕棿涓嶆纭�) /// ((褰撳墠鏃堕棿)DateTime.Now - (璁板綍鏃堕棿)LastDateTimeLastDateTime).TotalSeconds=璇樊鏃堕棿(绉�) /// </summary> public DateTime LastDateTime; /// <summary> - /// IP鍦板潃 + /// 璁板綍婊戝姩闊抽噺鏉℃椂闂�<鐢ㄦ潵澶勭悊闊抽噺璺冲姩> /// </summary> - public string IPAddress = "192.168.1.100"; + public static DateTime ProgressDateTime = DateTime.MinValue; - /// <summary> - /// 绔彛 - /// </summary> - public int Port = 49153; - - /// <summary> - /// 鏄惁鏄挱鏀惧櫒鍒楄〃鏈�鍚庝竴涓�(true) - /// </summary> - public bool IsEnd = false; - - public int A31DeviceType; - - //public string a31Source = "wifi"; - //public string a31Source = string.Empty; /// <summary> /// 闊充箰鎾斁鍣↖D /// </summary> public string UniqueDeviceName = string.Empty; - /// <summary> - /// 褰撳墠鎾斁鐘舵�� - /// </summary> - public A31PlayStatus A31PlayStatus = new A31PlayStatus(); public MusicInfo CurrentMusic = new MusicInfo(); - /// <summary> - ///褰撳墠鎾斁鐨勫垪琛ㄤ俊鎭� - /// </summary> - public List<Songs> CurrentPlayMusicInfoList = new List<Songs>(); /// <summary> /// 鏄惁鍏佽鏄剧ず /// </summary> public bool IsCanShow = true; - + /// <summary> - /// 鏄惁鍦ㄧ嚎锛屽鏋滃湪绾垮氨鍏佽璇诲彇淇℃伅 + /// 褰撳墠鎾斁姝屾洸鍒楄〃 /// </summary> - public bool IsOnLine = true; - - - /// <summary> - /// 鍒楄〃 - /// </summary> - public List<PalyListInfo> palyListInfos = new List<PalyListInfo>(); - + public List<SongList> CurrentPlayMusicInfoList = new List<SongList>(); /// <summary> /// 鍠滅埍闊充箰鍒楄〃 /// </summary> - public List<Songs> LoveMusicInfoList = new List<Songs>(); - + public List<SongInfo> LoveMusicInfoList = new List<SongInfo>(); /// <summary> - /// DLNA鎵�鏈夊垪琛� + /// 鎵�鏈夈�愰煶涔愬垪琛ㄣ�� /// </summary> - public List<Songs> dlnaMusicInfoLists = new List<Songs>(); - + public List<SongList> AllMusicLists = new List<SongList>(); /// <summary> - /// 鐢靛彴鎵�鏈夊垪琛� + /// 鎵�鏈夈�愰煶涔愭簮銆戠殑鍒楄〃 /// </summary> - public List<Songs> CnRadioInfoList = new List<Songs>(); - - /// <summary> - /// vTuner鐢靛彴鎵�鏈夊垪琛� - /// </summary> - public List<Songs> vTunerList = new List<Songs>(); - - /// <summary> - /// 鍠滅埍鐢靛彴鍒楄〃 - /// </summary> - public List<Songs> LoveRadioInfoList = new List<Songs>(); - - /// <summary> - /// Pandora鐢靛彴鎵�鏈夊垪琛� - /// </summary> - public List<Songs> PanRadioInfoList = new List<Songs>(); - /// <summary> - /// usb鍒楄〃 - /// </summary> - public List<Songs> USBList = new List<Songs>(); - /// <summary> - /// Tidal鍠滅埍鍒楄〃 - /// </summary> - public List<Songs> TidalLikelist = new List<Songs>(); + public List<GroupList> AllSourceGroupList = new List<GroupList>(); /// <summary> ///鍒涘缓闊充箰鏂囦欢鍒楄〃 /// </summary> @@ -228,72 +103,31 @@ /// </summary> public static A31MusicModel Current; - public int _ServerClientType; - /// <summary> - /// -1琛ㄧず浠庣殑0琛ㄧず榛樿1琛ㄧず涓荤殑 - /// </summary> - public int ServerClientType - { - get - { - return _ServerClientType; - } - set - { - _ServerClientType = value; - if (value == 0) - { - //name = Name; - } - } - } - /// <summary> - /// 璁板綍涓绘挱鏀惧櫒IP - /// </summary> - public string MainPlayIP = string.Empty; - public string _MainPlayName = string.Empty; - /// <summary> - /// 璁板綍涓绘挱鏀惧櫒鍚嶇О - /// </summary> - public string MainPlayName - { - get - { - return _MainPlayName; - } - set - { - _MainPlayName = value; - //if(ServerClientType == 1) - //{ - // name = value; - //} - } - } + + /// <summary> /// 鎸囧畾鍒楄〃鍚嶈幏鍙栭煶涔愬垪琛� /// </summary> /// <returns></returns> - public List<Songs> GetSongList(string listName) + public List<SongInfo> GetSongList(string listName) { - var list = palyListInfos.Find((o)=>o.group==listName); - if (list==null) { - return new List<Songs>(); + var list = CurrentPlayMusicInfoList.Find((o) => o.group == listName); + if (list == null) + { + return new List<SongInfo>(); } return list.songs; } - /// <summary> - /// 璁板綍涓绘挱鏀惧櫒鏄惁琚敹钘�(绉�妗″畾涔夌殑) - /// </summary> - public bool MainPlayCollection = false; + public Slaves Slave = new Slaves(); - /// <summary> - /// 璁板綍鏃堕棿 - /// </summary> - public static DateTime ProgressDateTime = DateTime.Now; + /// <summary> + /// 鍒ゆ柇鏄惁鏄痡son鏁版嵁 + /// </summary> + /// <param name="json"></param> + /// <returns></returns> public static bool IsJson(string json) { try @@ -332,7 +166,7 @@ /// <summary> /// 鍒楄〃姝屾洸淇℃伅 /// </summary> - public List<Songs> MusicInfoList = new List<Songs>(); + public List<SongInfo> MusicInfoList = new List<SongInfo>(); } [System.Serializable] public class TidalMusicInfo : MusicInfo @@ -361,23 +195,48 @@ public string version = string.Empty; public string uuid = string.Empty; } + + [System.Serializable] + /// <summary> + /// 鏀寔澶氫釜闊充箰 + /// </summary> + public class PalyerSongListInfo + { + /// <summary> + /// 闊充箰sid + /// </summary> + public string sid = string.Empty; + /// <summary> + /// 闊充箰婧� + /// </summary> + public string source = string.Empty; + /// <summary> + /// 鍒楄〃淇℃伅 + /// </summary> + public List<SongList> playlist = new List<SongList>(); + } + [System.Serializable] /// <summary> /// 鍒楄〃淇℃伅 /// </summary> - public class PalyListInfo + public class SongList { /// <summary> /// 鍒楄〃鍚� /// </summary> public string group = string.Empty; /// <summary> + /// 鑷繁瀹氫箟鐨�(鐢ㄨ瘑鍒槸閭d釜闊充箰婧愮殑鍒楄〃) + /// </summary> + public string source = string.Empty; + /// <summary> /// 鍒楄〃姝屾洸淇℃伅 /// </summary> - public List<Songs> songs = new List<Songs>(); + public List<SongInfo> songs = new List<SongInfo>(); } [System.Serializable] - public class Songs:MusicInfo + public class SongInfo : MusicInfo { /// <summary> /// 姝屾洸鍚嶇О @@ -392,14 +251,53 @@ /// </summary> public string time = string.Empty; /// <summary> + /// 姝屾洸鍦板潃 + /// </summary> + public string url = string.Empty; + /// <summary> /// 绫诲瀷<鑷繁鐢�> /// </summary> public string type = string.Empty; + /// <summary> + /// 鍒楄〃鍚嶅拰group缁勫悕鏄竴鏍风殑 + /// </summary> + public string listName = string.Empty; + } + [System.Serializable] + /// <summary> + /// 鍒楄〃鍚嶅垪琛� + /// </summary> + public class GroupList + { + /// <summary> + ///璁惧sid + /// </summary> + public string sid = string.Empty; + /// <summary> + /// 闊充箰婧� + /// </summary> + public string source = string.Empty; + /// <summary> + /// 鍒楄〃鍚嶉泦鍚� + /// </summary> + public List<ListName> groupList = new List<ListName>(); + } + [System.Serializable] + /// <summary> + /// 鍒楄〃鍚� + /// </summary> + public class ListName + { + /// <summary> + /// 缁勫悕=鍒楄〃鍚� + /// </summary> + public string group = string.Empty; } + } \ No newline at end of file -- Gitblit v1.8.0