多媒体管理器解析IMultimediaManager

一。基本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"文件夹
复制代码

 

 
posted @   熬夜与烟  阅读(874)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示