日期:2014-05-17 浏览次数:20862 次
using System; using System.Text; using System.Runtime.InteropServices; namespace Platform { /******************************************************************************** * ** AnyChat Platform Core SDK * *********************************************************************************/ public class AnyChatCoreSDK { #region AnyChat Platform Core SDK 常量定义 // 内核参数定义,API:BRAC_SetSDKOption、BRAC_GetSDKOption 传入参数 public const int BRAC_SO_AUDIO_VADCTRL = 1; // 音频静音检测控制(参数为:int型:1打开,0关闭) public const int BRAC_SO_AUDIO_NSCTRL = 2; // 音频噪音抑制控制(参数为:int型:1打开,0关闭) public const int BRAC_SO_AUDIO_ECHOCTRL = 3; // 音频回音消除控制(参数为:int型:1打开,0关闭) public const int BRAC_SO_AUDIO_AGCCTRL = 4; // 音频自动增益控制(参数为:int型:1打开,0关闭) public const int BRAC_SO_AUDIO_CPATUREMODE = 5; // 音频采集模式设置(参数为:int型:0 发言模式,1 放歌模式,2 卡拉OK模式,3 线路输入模式) public const int BRAC_SO_AUDIO_MICBOOST = 6; // 音频采集Mic增强控制(参数为:int型:0 取消,1 选中,2 设备不存在[查询时返回值]) public const int BRAC_SO_RECORD_VIDEOBR = 10; // 录像视频码率设置(参数为:int型,单位:bps) public const int BRAC_SO_RECORD_AUDIOBR = 11; // 录像音频码率设置(参数为:int型,单位:bps) public const int BRAC_SO_RECORD_TMPDIR = 12; // 录像文件临时目录设置(参数为字符串PCHAR类型,必须是完整的绝对路径) public const int BRAC_SO_SNAPSHOT_TMPDIR = 13; // 快照文件临时目录设置(参数为字符串PCHAR类型,必须是完整的绝对路径) public const int BRAC_SO_CORESDK_TMPDIR = 14; // 设置AnyChat Core SDK临时目录(参数为字符串PCHAR类型,必须是完整的绝对路径) public const int BRAC_SO_CORESDK_PATH = 20; // 设置AnyChat Core SDK相关组件路径(参数为字符串PCHAR类型,必须是完整的绝对路径) public const int BRAC_SO_LOCALVIDEO_BITRATECTRL = 30; // 本地视频编码码率设置(参数为int型,单位bps,同服务器配置:VideoBitrate) public const int BRAC_SO_LOCALVIDEO_QUALITYCTRL = 31; // 本地视频编码质量因子控制(参数为int型,同服务器配置:VideoQuality) public const int BRAC_SO_LOCALVIDEO_GOPCTRL = 32; // 本地视频编码关键帧间隔控制(参数为int型,同服务器配置:VideoGOPSize) public const int BRAC_SO_LOCALVIDEO_FPSCTRL = 33; // 本地视频编码帧率控制(参数为int型,同服务器配置:VideoFps) public const int BRAC_SO_LOCALVIDEO_PRESETCTRL = 34; // 本地视频编码预设参数控制(参数为int型,1-5) public const int BRAC_SO_LOCALVIDEO_APPLYPARAM = 35; // 应用本地视频编码参数,使得前述修改即时生效(参数为int型:1 使用新参数,0 使用默认参数) public const int BRAC_SO_LOCALVIDEO_VIDEOSIZEPOLITIC=36;// 本地视频采集分辩率控制策略(参数为int型,0 自动向下逐级匹配[默认];1 使用采集设备默认分辩率),当配置的分辩率不被采集设备支持时有效 public const int BRAC_SO_LOCALVIDEO_DEINTERLACE = 37; // 本地视频反交织参数控制(参数为int型: 0 不进行反交织处理[默认];1 反交织处理),当输入视频源是隔行扫描源(如电视信号)时通过反交织处理可以提高画面质量 public const int BRAC_SO_NETWORK_P2PPOLITIC = 40; // 本地网络P2P策略控制(参数为:int型:0 禁止本地P2P,1 服务器控制P2P[默认],2 上层应用控制P2P连接,3 按需建立P2P连接) public const int BRAC_SO_NETWORK_P2PCONNECT = 41; // 尝试与指定用户建立P2P连接(参数为int型,表示目标用户ID),连接建立成功后,会通过消息反馈给上层应用,P2P控制策略=2时有效 public const int BRAC_SO_NETWORK_P2PBREAK = 42; // 断开与指定用户的P2P连接(参数为int型,表示目标用户ID)[暂不支持,保留] // 用户状态标志定义,API:BRAC_QueryUserState 传入参数 public const int BRAC_USERSTATE_CAMERA = 1; // 用户摄像头状态(参数为DWORD型) public const int BRAC_USERSTATE_HOLDMIC = 2; // 用户持有Mic状态(参数为DWORD型) public const int BRAC_USERSTATE_SPEAKVOLUME = 3; // 用户当前说话音量(参数为DOUBLE类型(0.0 ~ 100.0)) public const int BRAC_USERSTATE_RECORDING = 4; // 用户录像(音)状态(参数为DWORD型) public const int BRAC_USERSTATE_LEVEL = 5; // 用户级别(参数为DWORD型) public const int BRAC_USERSTATE_NICKNAME = 6; // 用户昵称(参数为字符串PCHAR类型) public const int BRAC_USERSTATE_LOCALIP = 7; // 用户本地IP地址(内网,参数为字符串PCHAR类型) public const int BRAC_USERSTATE_INTERNETIP = 8; // 用户互联网IP地址(参数为字符串PCHAR类型) public const int BRAC_USERSTATE_VIDEOBITRATE = 9; // 用户当前的视频码率(参数为DWORD类型,Bps) public const int BRAC_USERSTATE_AUDIOBITRATE = 10; // 用户当前的音频码率(参数为DWORD类型,Bps) public const int BRAC_USERSTATE_P2PCONNECT = 11; // 查询本地用户与指定用户的当前P2P连接状态(参数为DWORD类型,返回值:0 P2P不通, 1 P2P连接成功[TCP],2 P2P连接成功[UDP],3 P2P连接成功[TCP、UDP]) public