wxr
2020-07-29 e322d91c7325019710bfdb046c5fea673031455a
HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs
@@ -1,8 +1,7 @@
using System;
using System.Collections.Generic;
using System.Text;
using HDL_ON.Entity;
using Shared;
using HDL_ON.Entity;
namespace HDL_ON.UI.Music
{
@@ -15,8 +14,60 @@
        static A31MusicModel()
        {
            Refresh();
            //Type = DeviceType.A31MusicModel;
        }
        static List<System.Threading.Thread> updataMusicStatesListThread = new List<System.Threading.Thread>();
        /// <summary>
        /// 读取音乐状态
        /// </summary>
        public static void ReadMusicStates()
        {
            var threads = updataMusicStatesListThread.FindAll((obj) => { return obj.Name == "A31"; });
            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");
                }
            }
            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;
                        }
                        //A31MusicModel.ReadMusicStates();
                        SendMethod.ReadStatus(a31player);
                    }
                })
                { IsBackground = true, Name = "A31" };
                musicThread.Start();
                updataMusicStatesListThread.Add(musicThread);
            }
        }
        /// <summary>
        ///保存当前音乐列表
        /// </summary>
@@ -73,6 +124,9 @@
        //public string a31Source = "wifi";
        //public string a31Source = string.Empty;
        /// <summary>
        /// 音乐播放器ID
        /// </summary>
        public string UniqueDeviceName = string.Empty;
        /// <summary>
@@ -143,18 +197,53 @@
        /// </summary>
        public static A31MusicModel Current;
        public int _ServerClientType;
        /// <summary>
        /// -1表示从的0表示默认1表示主的
        /// </summary>
        public int ServerClientType;
        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 = string.Empty;
        public string MainPlayName
        {
            get
            {
                return _MainPlayName;
            }
            set
            {
                _MainPlayName = value;
                if(ServerClientType == 1)
                {
                    name = value;
                }
            }
        }
        /// <summary>
        /// 记录主播放器是否被收藏
        /// </summary>
        public bool MainPlayCollection = false;
        public Slaves Slave = new Slaves();
@@ -178,12 +267,6 @@
                return false;
            }
        }
        #region 组合属性
        #endregion
    }
    [System.Serializable]
@@ -228,7 +311,4 @@
        public string version = string.Empty;
        public string uuid = string.Empty;
    }
}