• 多媒体管理器解析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"文件夹
     
  • 相关阅读:
    解决远程连接mysql很慢的方法(网络正常)
    分布式系统中可用性及容错性的区别
    设计模式个人思考
    记第一次多用户在Git提交代码
    Git远程分支的回退
    Linux模拟控制网络时延
    ubuntu 软件
    编译cubieboard android 源码过程详解之(六):pack
    编译cubieboard android 源码过程详解之(五):make
    编译cubieboard android 源码过程详解之(四):extract-bsp
  • 原文地址:https://www.cnblogs.com/aoyeyuyan/p/5552856.html
Copyright © 2020-2023  润新知