From a1b0ab7044100daaa7e0f1da2d2ca45e38098963 Mon Sep 17 00:00:00 2001
From: 陈嘉乐 <cjl@hdlchina.com.cn>
Date: 星期一, 29 三月 2021 09:13:25 +0800
Subject: [PATCH] 2021-3-29-2
---
HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs | 89 +++++++++++++++++++++++++++++---------------
1 files changed, 59 insertions(+), 30 deletions(-)
diff --git a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs b/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs
index 35d5e30..13991b2 100644
--- a/HDL_ON/UI/UI2/FuntionControlView/Music/A31MusicModel.cs
+++ b/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,40 +71,35 @@
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].collect)
{
- 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>
public static void Save()
{
- FileUtils.WriteFileByBytes(a31MusiceModeListFilePath, System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(A31MusicModelList)));
+ Common.FileUtlis.Files.WriteFileByBytes(a31MusiceModeListFilePath, System.Text.Encoding.UTF8.GetBytes(Newtonsoft.Json.JsonConvert.SerializeObject(A31MusicModelList)));
}
public static void Refresh()
{
- if (null == Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<A31MusicModel>>(System.Text.Encoding.UTF8.GetString(FileUtils.ReadFile(a31MusiceModeListFilePath))))
+ if (null == Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<A31MusicModel>>(System.Text.Encoding.UTF8.GetString(Common.FileUtlis.Files.ReadFile(a31MusiceModeListFilePath))))
{
A31MusicModelList = new List<A31MusicModel> { };
//鍒濆鍖栨埧闂村垪琛�
@@ -86,7 +107,7 @@
}
else
{
- A31MusicModelList = Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<A31MusicModel>>(System.Text.Encoding.UTF8.GetString(FileUtils.ReadFile(a31MusiceModeListFilePath)));
+ A31MusicModelList = Newtonsoft.Json.JsonConvert.DeserializeObject<System.Collections.Generic.List<A31MusicModel>>(System.Text.Encoding.UTF8.GetString(Common.FileUtlis.Files.ReadFile(a31MusiceModeListFilePath)));
}
if (A31MusicModelList == null)
{
@@ -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;
}
+
}
\ No newline at end of file
--
Gitblit v1.8.0