多媒体管理器解析IMultimediaManager

mac2022-06-30  85

一。基本API

bool Available { get; } bool Working { get; } AdvancedOptions Advanced { get; }

二。作为通信引擎

string CurrentUserID { get; } string SystemToken { get; set; }void Initialize(string userID, string password, string serverIP, int serverPort); 、 void Initialize(string userID, string password, string serverIP, int serverPort, Dictionary<MultimediaDeviceType, AgileIPEndPoint> deviceChannelDic); bool AutoReconnect { get; set; } bool IsP2PChannelExist(string destUserID); bool IsUserOnline(string userID); void CloseConnection(bool reconnectNow); ChannelMode ChannelMode { get; set; } void DisconnectGuest(bool notifyGuest); void DisconnectGuest(string guestID, MultimediaDeviceType deviceType, bool notifyGuest); List<string> GetGuests(MultimediaDeviceType deviceType); AgileIPEndPoint ServerIPE { get; } IShortMessageController ShortMessageController { get; } event CbGeneric<IPEndPoint> ConnectionInterrupted; event CbGeneric<IPEndPoint> ConnectionRebuildSucceed; event CbGeneric<string, int, int, int> JitterBufferDepthChanged;

三。作为设备管理者(OWner)

1.通用设备管理

event CbGeneric<MultimediaDeviceType, int, string> DeviceErrorOccurred; bool DeviceIsWorking(MultimediaDeviceType deviceType); event CbGeneric<string, MultimediaDeviceType> DeviceConnected; event CbGeneric<string, MultimediaDeviceType> DeviceDisconnected;

2.摄像头管理 

bool AutoAdjustCameraEncodeQuality { get; set; } int CameraDeviceIndex { get; set; } int CameraEncodeQuality { get; set; } Size CameraVideoSize { get; set; } int MaxCameraFrameRate { get; set; } bool OutputVideo { get; set; } event CbGeneric<int, int> CameraIndexChanged; void ChangeCameraDeviceAsyn(int deviceIndex);

3。桌面管理

int DesktopEncodeQuality { get; set; } Rectangle? DesktopRegion { get; set; } int MaxDesktopFrameRate { get; set; } bool OutputDesktop { get; set; } bool AllowControlDesktop { get; set; }

4。麦克风管理

int MicrophoneDeviceIndex { get; set; } int VolumeAmplifyFactor { get; set; } event CbGeneric<byte[]> AudioCaptured; bool OutputAudio { get; set; }

5。白板管理

string CoursewaresRootPath { get; set; }

四。扩展接口

IVideoCapturerFactory VideoCapturerFactory { get; set; } IAudioCapturerFactory AudioCapturerFactory { get; set; } IImageConverterFactory ImageConverterFactory { get; set; } IChatGroupEntrance ChatGroupEntrance { get; }

五。日志管理

bool SecurityLogEnabled { get; set; } IAgileLogger OmcsLogger { set; } string OmcsLogPath { get; set; }

六。作为Guest

bool Mute { get; set; } int SpeakerIndex { get; set; } event CbGeneric<IMultimediaConnector, ConnectorDisconnectedType> ConnectorDisconnected; event CbGeneric<byte[]> AudioPlayed;

 

 ****************************************************************************

 ****************************************************************************

1.可动态设置:

bool OutputAudio bool OutputDesktop bool OutputVideo int VolumeAmplifyFactor bool AllowControlDesktop bool AutoAdjustCameraEncodeQuality int CameraDeviceIndex int MicrophoneDeviceIndex int MicrophoneDeviceIndex Size CameraVideoSize Rectangle? DesktopRegion int DesktopEncodeQuality int CameraEncodeQuality int SpeakerIndex

2.初始化之前设置:

IAudioCapturerFactory AudioCapturerFactory IImageConverterFactory ImageConverterFactory IVideoCapturerFactory VideoCapturerFactory int MaxCameraFrameRate int MaxDesktopFrameRate IAgileLogger OmcsLogger AdvancedOptions Advanced bool AutoReconnect

3.初始化之后设置:

IChatGroupEntrance ChatGroupEntrance bool OutputAudio bool OutputDesktop bool OutputVideo bool AllowControlDesktop

4.默认值

DesktopEncodeQuality=6 MaxCameraFrameRate = 10 MaxDesktopFrameRate = 3 CameraDeviceIndex = 0 CameraEncodeQuality = 3 CameraVideoSize = 320*240 AutoAdjustCameraEncodeQuality = true OutputAudio = true OutputDesktop = true OutputVideo = true SecurityLogEnabled = false VolumeAmplifyFactor = 1 AllowControlDesktop = true ChannelMode = P2PChannelFirst OmcsLogPath = 运行目录下OmcsLog.txt CoursewaresRootPath = 运行目录下的"Coursewares"文件夹

 

 

转载于:https://www.cnblogs.com/aoyeyuyan/p/5552856.html

最新回复(0)