wxr
2020-08-11 2bec9c838d2d688025698de8ec1de401ffd7dd1f
HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs
@@ -17,18 +17,44 @@
        }
        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;)
            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 static void RemoveListThread() {
            for (int i = 0; i < updataMusicStatesListThread.Count;)
            {
                try
                {
                {
                    var thread = updataMusicStatesListThread[i];
                    if (thread.IsAlive)
                    {
@@ -45,29 +71,24 @@
                    MainPage.Log("clearA31Threads over");
                }
            }
            for (int i = 0; i < A31MusicModelList.Count; i++)
        }
        /// <summary>
        /// 音乐列表里是否有音乐被收藏过
        /// </summary>
        static bool GetCollection
        {
            get
            {
                var a31player = A31MusicModelList[i];
                var musicThread = new System.Threading.Thread(() =>
                for (int i = 0; i < A31MusicModelList.Count; i++)
                {
                    while (true)
                    if (A31MusicModelList[i].collection)
                    {
                        System.Threading.Thread.Sleep(1000);
                        if (!a31player.IsOnLine)
                        {
                            continue;
                        }
                        //A31MusicModel.ReadMusicStates();
                        SendMethod.ReadStatus(a31player);
                        return true; //查询是否有音乐被收藏过
                    }
                })
                { IsBackground = true, Name = "A31" };
                musicThread.Start();
                updataMusicStatesListThread.Add(musicThread);
                }
                return false;
            }
        }
        /// <summary>
        ///保存当前音乐列表
        /// </summary>
@@ -241,16 +262,15 @@
            }
        }
        /// <summary>
        /// 记录主播放器是否被收藏
        /// 记录主播放器是否被收藏(秀桡定义的)
        /// </summary>
        public bool MainPlayCollection = false;
        public Slaves Slave = new Slaves();
        /// <summary>
        /// 记录时间
        /// </summary>
        public static DateTime ProgressDateTime = DateTime.Now;
        //static System.Threading.Tasks.Task task;
        //音量列表
        //static List<int> volumeCommandList = new List<int> ();
        public static bool IsJson(string json)
        {
@@ -266,6 +286,14 @@
            {
                return false;
            }
        }
        /// <summary>
        /// 自定义日志输出
        /// </summary>
        public static void LogMusic(string str)
        {
            var time = DateTime.Now;
            Console.WriteLine(time + str);
        }
    }
@@ -311,4 +339,5 @@
        public string version = string.Empty;
        public string uuid = string.Empty;
    }
}