新增 Mjpegplayer 用来播放 Web 流

This commit is contained in:
2026-01-21 19:03:59 +08:00
parent f79cb6e74d
commit c438edfa0d
71 changed files with 4538 additions and 452 deletions

View File

@@ -0,0 +1,68 @@
using Prism.Events;
namespace SHH.MjpegPlayer;
/// <summary>Prism 消息框架</summary>
public class PrismMsg<T>
{
#region Defines
public IEventAggregator _ea;
private static PrismMsg<T>? _instance = null;
#endregion
#region Constructor
/// <summary>构造函数</summary>
private PrismMsg()
{
_ea = new EventAggregator();
}
#endregion
#region Instance
/// <summary>获取实例信息</summary>
public static PrismMsg<T> Instance
{
get
{
if (_instance == null)
_instance = new PrismMsg<T>();
return _instance;
}
}
#endregion
#region Publish
/// <summary>发送消息</summary>
public static void Publish(T msg)
{
if (Instance == null)
return;
dynamic? data = msg;
Instance._ea.GetEvent<PubSubEvent<T>>().Publish(data);
}
#endregion
#region Subscribe
/// <summary>订阅消息</summary>
public static void Subscribe(Action<T> method)
{
if (Instance == null || Instance._ea == null)
return;
Instance._ea.GetEvent<PubSubEvent<T>>().Subscribe(method);
}
#endregion
}