### **查询SDK内核参数(整形值)**
函数: BRAC_GetSDKOptionInt(INT optname) {
功能: SDK内核参数查询(整形值参数)
参数: optname 内核参数名称(见anychatsdk.js内核参数类型定义)
返回值:返回查询内核参数值
说明:
可以通过该方法对AnyChat Core SDK内部的参数进行状态查询,获取当前的设置。
### **查询SDK内核参数(字符串值)**
函数: BRAC_GetSDKOptionString(INT optname)
功能: SDK内核参数查询(字符串值参数)
参数: optname 内核参数名称(见anychatsdk.js内核参数类型定义)
返回值:返回查询内核参数值
说明:
可以通过该方法对AnyChat Core SDK内部的参数进行状态查询,获取当前的设置。
### **查询SDK内核参数(字符串值,扩展)**
函数: BRAC_GetSDKOptionStringEx(INT optname, STRING strValue, INT dwFlags)
功能: 参数转换
参数:
optname 内核参数名称(见anychatsdk.js 内核参数类型定义)
strValue 需要转换的参数值,字符串型
dwFlags 整型标志位,默认传0即可
返回值:返回转换后的字符串
接口示例(把本地路径转换成网络URL):
`var szUrl = BRAC_GetSDKOptionStringEx(BRAC_SO_LOCALPATH2URL, “d:\anychat\me.mp4”, 0);`
内核参数定义(API:BRAC_GetSDKOption 传入参数)
~~~
var BRAC_SO_AUDIO_VADCTRL = 1; // 音频静音检测控制(参数为:int型:1打开,0关闭)
var BRAC_SO_AUDIO_NSCTRL = 2; // 音频噪音抑制控制(参数为:int型:1打开,0关闭)
var BRAC_SO_AUDIO_ECHOCTRL = 3; // 音频回音消除控制(参数为:int型:1打开,0关闭)
var BRAC_SO_AUDIO_AGCCTRL = 4; // 音频自动增益控制(参数为:int型:1打开,0关闭)
var BRAC_SO_AUDIO_CAPTUREMODE = 5; // 音频采集模式设置(参数为:int型:0 发言模式,1 放歌模式,2 卡拉OK模式,3 线路输入模式)
var BRAC_SO_AUDIO_MICBOOST = 6; // 音频采集Mic增强控制(参数为:int型:0 取消,1 选中,2 设备不存在[查询时返回值])
var BRAC_SO_AUDIO_AUTOPARAM = 7; // 根据音频采集模式,自动选择合适的相关参数,包括编码器、采样参数、码率参数等(参数为int型:1 启用,0 关闭[默认])
var BRAC_SO_AUDIO_MONOBITRATE = 8; // 设置单声道模式下音频编码目标码率(参数为:int型,单位:bps)
var BRAC_SO_AUDIO_STEREOBITRATE = 9; // 设置双声道模式下音频编码目标码率(参数为:int型,单位:bps)
var BRAC_SO_AUDIO_PLAYDRVCTRL = 70; // 音频播放驱动选择(参数为:int型,0默认驱动, 1 DSound驱动, 2 WaveOut驱动, 3 Java播放[Android平台使用])
var BRAC_SO_AUDIO_CNGCTRL = 71; // 舒适噪音生成控制(参数为:int型:1打开,0关闭)
var BRAC_SO_AUDIO_CODECID = 72; // 本地音频编码器ID设置(参数为int型,-1表示默认,如果设置的编码器ID不存在,则内核会采用默认的编码器)
var BRAC_SO_AUDIO_SOFTVOLMODE = 73; // 设置软件音量模式控制(参数为int型,1打开,0关闭[默认]),使用软件音量模式,将不会改变系统的音量设置
var BRAC_SO_AUDIO_RECORDDRVCTRL = 74; // 音频采集驱动控制(参数为int型,0默认驱动, 1 DSound驱动, 2 WaveIn驱动, 3 Java采集[Android平台使用])
var BRAC_SO_RECORD_VIDEOBR = 10; // 录像视频码率设置(参数为:int型,单位:bps)
var BRAC_SO_RECORD_AUDIOBR = 11; // 录像音频码率设置(参数为:int型,单位:bps)
var BRAC_SO_RECORD_TMPDIR = 12; // 录像文件临时目录设置(参数为字符串TCHAR类型,必须是完整的绝对路径)
var BRAC_SO_SNAPSHOT_TMPDIR = 13; // 快照文件临时目录设置(参数为字符串TCHAR类型,必须是完整的绝对路径)
var BRAC_SO_RECORD_FILETYPE = 140;// 录制文件类型设置(参数为:int型, 0 MP4[默认], 1 WMV, 2 FLV, 3 MP3)
var BRAC_SO_RECORD_WIDTH = 141;// 录制视频宽度设置(参数为:int型,如:320)
var BRAC_SO_RECORD_HEIGHT = 142;// 录制文件高度设置(参数为:int型,如:240)
var BRAC_SO_RECORD_FILENAMERULE = 143;// 录制文件名命名规则(参数为:int型)
var BRAC_SO_RECORD_CLIPMODE = 144;// 录制视频裁剪模式(参数为:int型)
var BRAC_SO_RECORD_DISABLEDATEDIR = 145;// 录制文件不按日期分目录保存,全部生成在指定文件夹中(参数为:int型, 0禁止[默认] 1 开启)
var BRAC_SO_RECORD_INSERTIMAGE = 146;// 录制过程中插入图片,Json字符串参数
var BRAC_SO_CORESDK_TMPDIR = 14; // 设置AnyChat Core SDK临时目录(参数为字符串TCHAR类型,必须是完整的绝对路径)
var BRAC_SO_CORESDK_MAGICADJUST = 15; // 内核调试参数
var BRAC_SO_CORESDK_LOADCODEC = 16; // 加载外部编解码器(参数为字符串TCHAR类型,必须是完整的绝对路径,包含文件名,或包含文件名的绝对路径)
var BRAC_SO_CORESDK_USEARMV6LIB = 17; // 强制使用ARMv6指令集的库,android平台使用(参数为:int型,1使用ARMv6指令集, 0内核自动判断[默认])
var BRAC_SO_CORESDK_USEHWCODEC = 18; // 使用平台内置硬件编解码器(参数为int型,0 不使用硬件编解码器[默认] 1 使用内置硬件编解码器)
var BRAC_SO_CORESDK_REMOTEDEBUG = 19; // 远程调试(参数为int型,表示目标用户ID,复用参数长度为调试类型参数)
var BRAC_SO_CORESDK_PATH = 20; // 设置AnyChat Core SDK相关组件路径(参数为字符串TCHAR类型,必须是完整的绝对路径)
var BRAC_SO_CORESDK_DUMPCOREINFO = 21; // 输出内核信息到日志文件中,便于分析故障原因(参数为:int型:1 输出)
var BRAC_SO_CORESDK_MAINVERSION = 22; // 查询SDK主版本号号(参数为int型)
var BRAC_SO_CORESDK_SUBVERSION = 23; // 查询SDK从版本号(参数为int型)
var BRAC_SO_CORESDK_BUILDTIME = 24; // 查询SDK编译时间(参数为字符串TCHAR类型)
var BRAC_SO_CORESDK_ACTIVESTATE = 25; // 应用程序活动状态控制(参数为int型, 1 应用程序处于活动状态, 0 应用程序处于非活动状态),适用于iPhone等设备程序可后台运行的场合
var BRAC_SO_CORESDK_EXTVIDEOINPUT = 26; // 外部扩展视频输入控制(参数为int型, 0 关闭外部视频输入[默认], 1 启用外部视频输入)
var BRAC_SO_CORESDK_EXTAUDIOINPUT = 27; // 外部扩展音频输入控制(参数为int型, 0 关闭外部音频输入[默认], 1 启用外部音频输入)
var BRAC_SO_CORESDK_LOWDELAYCTRL = 28; // 低延迟模式控制(参数为int型,0 关闭低延迟模式[默认], 1 启用低延迟模式)
var BRAC_SO_CORESDK_NEWGUID = 29; // 产生新的GUID字符串
var BRAC_SO_LOCALVIDEO_BITRATECTRL = 30; // 本地视频编码码率设置(参数为int型,单位bps,同服务器配置:VideoBitrate)
var BRAC_SO_LOCALVIDEO_QUALITYCTRL = 31; // 本地视频编码质量因子控制(参数为int型,同服务器配置:VideoQuality)
var BRAC_SO_LOCALVIDEO_GOPCTRL = 32; // 本地视频编码关键帧间隔控制(参数为int型,同服务器配置:VideoGOPSize)
var BRAC_SO_LOCALVIDEO_FPSCTRL = 33; // 本地视频编码帧率控制(参数为int型,同服务器配置:VideoFps)
var BRAC_SO_LOCALVIDEO_PRESETCTRL = 34; // 本地视频编码预设参数控制(参数为int型,1-5)
var BRAC_SO_LOCALVIDEO_APPLYPARAM = 35; // 应用本地视频编码参数,使得前述修改即时生效(参数为int型:1 使用新参数,0 使用默认参数)
var BRAC_SO_LOCALVIDEO_VIDEOSIZEPOLITIC = 36; // 本地视频采集分辩率控制策略(参数为int型,0 自动向下逐级匹配[默认];1 使用采集设备默认分辩率),当配置的分辩率不被采集设备支持时有效
var BRAC_SO_LOCALVIDEO_DEINTERLACE = 37; // 本地视频反交织参数控制(参数为int型: 0 不进行反交织处理[默认];1 反交织处理),当输入视频源是隔行扫描源(如电视信号)时通过反交织处理可以提高画面质量
var BRAC_SO_LOCALVIDEO_WIDTHCTRL = 38; // 本地视频采集分辨率宽度控制(参数为int型,同服务器配置:VideoWidth)
var BRAC_SO_LOCALVIDEO_HEIGHTCTRL = 39; // 本地视频采集分辨率高度控制(参数为int型,同服务器配置:VideoHeight)
var BRAC_SO_LOCALVIDEO_FOCUSCTRL = 90; // 本地视频摄像头对焦控制(参数为int型,1表示自动对焦, 0表示手动对焦)
var BRAC_SO_LOCALVIDEO_PIXFMTCTRL = 91; // 本地视频采集优先格式控制(参数为int型,-1表示智能匹配,否则优先采用指定格式,参考:BRAC_PixelFormat)
var BRAC_SO_LOCALVIDEO_OVERLAY = 92; // 本地视频采用Overlay模式(参数为int型,1表示采用Overlay模式, 0表示普通模式[默认])
var BRAC_SO_LOCALVIDEO_CODECID = 93; // 本地视频编码器ID设置(参数为int型,-1表示默认,如果设置的编码器ID不存在,则内核会采用默认的编码器)
var BRAC_SO_LOCALVIDEO_ROTATECTRL = 94; // 本地视频旋转控制(参数为int型,0表示不进行旋转,1表示垂直翻转)
var BRAC_SO_LOCALVIDEO_CAPDRIVER = 95; // 本地视频采集驱动设置(参数为int型,0表示自动选择[默认], 1 Video4Linux, 2 DirectShow, 3 Java采集[Android平台使用])
var BRAC_SO_LOCALVIDEO_FIXCOLORDEVIA = 96; // 修正视频采集颜色偏色(参数为int型,0表示关闭[默认],1 开启)
var BRAC_SO_LOCALVIDEO_TVFORMAT = 104;// 视频采集制式设置(参数为:int型,定义为DirectShow::strmif.h::AnalogVideoStandard,默认为:AnalogVideo_PAL_B)
var BRAC_SO_LOCALVIDEO_OVERLAYTIMESTAMP = 105;// 迭加时间戳到本地视频(参数为:int型, 0 不迭加[默认], 1 迭加)
var BRAC_SO_LOCALVIDEO_DEVICENAME = 106;// 本地视频采集设备名称,用于设置打开指定摄像头设备(参数为字符串类型)
var BRAC_SO_LOCALVIDEO_CLIPMODE = 107;// 本地视频裁剪模式(参数为int型, 0 自动[默认],禁止自动旋转时有效)
var BRAC_SO_LOCALVIDEO_SCREENHWND = 108;// 屏幕采集窗口句柄
var BRAC_SO_LOCALVIDEO_SCREENFLAGS = 109;// 屏幕采集标志(参数为int型)
var BRAC_SO_LOCALVIDEO_VIRTUALBK = 111;// 本地视频迭加虚拟背景(字符串类型,JSON格式,包括虚拟背景路径、是否开启以及其它参数项)
var BRAC_SO_NETWORK_P2PPOLITIC = 40; // 本地网络P2P策略控制(参数为:int型:0 禁止本地P2P,1 服务器控制P2P[默认],2 上层应用控制P2P连接,3 按需建立P2P连接)
var BRAC_SO_NETWORK_P2PCONNECT = 41; // 尝试与指定用户建立P2P连接(参数为int型,表示目标用户ID),连接建立成功后,会通过消息反馈给上层应用,P2P控制策略=2时有效
var BRAC_SO_NETWORK_P2PBREAK = 42; // 断开与指定用户的P2P连接(参数为int型,表示目标用户ID)[暂不支持,保留]
var BRAC_SO_NETWORK_TCPSERVICEPORT = 43; // 设置本地TCP服务端口(参数为int型),连接服务器之前设置有效
var BRAC_SO_NETWORK_UDPSERVICEPORT = 44; // 设置本地UDP服务端口(参数为int型),连接服务器之前设置有效
var BRAC_SO_NETWORK_MULTICASTPOLITIC = 45; // 组播策略控制(参数为int型,定义为常量:BRAC_MCPOLITIC_XXXX)
var BRAC_SO_NETWORK_TRANSBUFMAXBITRATE = 46; // 传输缓冲区、文件最大码率控制(参数为int型,0 不限制,以最快速率传输[默认], 否则表示限制码率,单位为:bps)
var BRAC_SO_NETWORK_AUTORECONNECT = 47; // 网络掉线自动重连功能控制(参数为int型,0 关闭, 1 开启[默认])
var BRAC_SO_PROXY_FUNCTIONCTRL = 50; // 本地用户代理功能控制,(参数为:int型,1启动代理,0关闭代理[默认])
var BRAC_SO_PROXY_VIDEOCTRL = 51; // 本地用户代理视频控制,将本地视频变为指定用户的视频对外发布(参数为int型,表示其它用户的userid)
var BRAC_SO_PROXY_AUDIOCTRL = 52; // 本地用户代理音频控制,将本地音频变为指定用户的音频对外发布(参数同BRAC_SO_PROXY_VIDEOCTRL)
var BRAC_SO_STREAM_MAXBUFFERTIME = 60; // 最大流缓冲时间(参数为int型,单位:毫秒,取值范围:500 ~ 5000,默认:800),发言模式设置值,歌曲模式会自动增加一倍
var BRAC_SO_STREAM_SMOOTHPLAYMODE = 61; // 平滑播放模式(参数为int型,0 关闭[默认], 1 打开),打开状态下遇到视频丢帧时会继续播放(可能出现马赛克),不会卡住
var BRAC_SO_VIDEOSHOW_MODECTRL = 80; // 视频显示模式控制(参数为:int型,0 单画面显示,1 视频迭加显示)
var BRAC_SO_VIDEOSHOW_SETPRIMARYUSER = 81; // 设置主显示用户编号(参数为:int型,用户ID号)
var BRAC_SO_VIDEOSHOW_SETOVERLAYUSER = 82; // 设置迭加显示用户编号(参数为:int型,用户ID号)
var BRAC_SO_VIDEOSHOW_DRIVERCTRL = 83; // 视频显示驱动控制(参数为:int型,0 默认驱动, 1 Windows DirectShow,2 Windows GDI,3 SDL, 4 Android2X)
var BRAC_SO_VIDEOSHOW_CLIPMODE = 86; // 远程视频显示旋转裁剪模式(参数为int型, 0 自动[默认])
var BRAC_SO_CORESDK_TICKOUTUSER = 110;// 从服务器上踢掉指定用户(参数为int型,表示目标用户ID)
var BRAC_SO_CORESDK_DEVICEMODE = 130;// 设备模式控制(局域网设备之间可以互相通信,不依赖服务器;参数为int型,0 关闭[默认],1 开启)
var BRAC_SO_CORESDK_SCREENCAMERACTRL = 131;// 桌面共享功能控制(参数为:int型, 0 关闭[默认], 1 开启)
var BRAC_SO_CORESDK_UPLOADLOGINFO = 134;// 上传日志信息到服务器(参数为:int型,0 关闭[默认], 1 开启)
var BRAC_SO_CORESDK_WRITELOG = 135;// 写入调试信息到本地日志文件中
var BRAC_SO_CORESDK_NEWLOGFILE = 136;// 产生新的日志文件
var BRAC_SO_CORESDK_SUPPORTVIDEOCODEC = 210;// 设置支持的视频编码器
var BRAC_SO_CORESDK_SUPPORTAUDIOCODEC = 211;// 设置支持的音频编码器
var BRAC_SO_CORESDK_DISABLEMEDIACONSUL = 212;// 禁止媒体协商
var BRAC_SO_CORESDK_QUERYTIMEOUTTIME = 213;// 信息查询超时时间(参数为:int型,单位:ms,默认值1000)
var BRAC_SO_CORESDK_REMOTEASSISTHWND = 214;// 远程协助窗口句柄
var BRAC_SO_CORESDK_REMOTEASSISTXPOS = 215;// 远程协助窗口滚动条位置(X)
var BRAC_SO_CORESDK_REMOTEASSISTYPOS = 216;// 远程协助窗口滚动条位置(Y)
var BRAC_SO_CORESDK_DISABLEDNSCONNECT= 219;// 屏蔽DNS寻址
var BRAC_SO_CORESDK_LOGFILEROOTPATH = 220;// 日志文件保存根路径(日志重定向,参数为字符串,绝对路径)
var BRAC_SO_CORESDK_LOGFILERULE = 221;// 客户端日志文件保存规则(参数为int型,0 自动覆盖[默认] 1 按日期保存,不覆盖)
var BRAC_SO_CORESDK_FILEENCANDDEC = 222;// 文件加解密控制(参数为字符串类型,JSON格式)
var BRAC_SO_CORESDK_PPTHELPERINIT = 223;// PPT播报环境初始化
var BRAC_SO_CORESDK_PPTFILECTRL = 224;// PPT文件控制
var BRAC_SO_UDPTRACE_MODE = 160;// UDP数据包跟踪模式
var BRAC_SO_UDPTRACE_PACKSIZE = 161;// UDP数据包跟踪的大小,单位:BYTE
var BRAC_SO_UDPTRACE_BITRATE = 162;// UDP数据包跟踪的包速率,单位:bps
var BRAC_SO_UDPTRACE_START = 163;// UDP数据包跟踪控制(参数为int型,1 启动, 0 停止)
var BRAC_SO_UDPTRACE_LOCALRECVNUM = 164;// UDP数据包跟踪本地接收包数量
var BRAC_SO_UDPTRACE_SERVERRECVNUM = 165;// UDP数据包跟踪服务器接收包数量
var BRAC_SO_UDPTRACE_SOURCESENDNUM = 166;// UDP数据包跟踪源发包数量
var BRAC_SO_UDPTRACE_SENDUSERID = 167;// UDP数据包跟踪源用户ID
~~~
- 一、系统概述
- 1.1系统介绍
- 1.2系统特性
- 1.2.1 视频技术
- 1.2.2 音频技术
- 1.2.3 P2P技术
- 二、开发指南
- 2.1 客户端SDK概述
- 2.1.1 Web
- 2.1.2 Android
- 2.1.3 iOS
- 2.1.4 Windows
- 2.1.5 Linux
- 2.1.6 Mac
- 2.2 客户端SDK的引用及升级
- 2.3 函数调用顺序
- 2.4 初始化
- 2.4.1 Web
- 2.4.2 Android
- 2.4.3 iOS
- 2.4.4 Windows
- 2.4.5 Linux
- 2.4.6 Mac
- 2.5 链接与登陆
- 2.5.1 Web
- 2.5.2 Android
- 2.5.3 iOS
- 2.5.4 Windows
- 2.5.5 Linux
- 2.5.6 Mac
- 2.6 进入房间
- 2.6.1 Web
- 2.6.2 Android
- 2.6.3 iOS
- 2.6.4 Windows
- 2.6.5 Linux
- 2.6.6 Mac
- 2.7 音视频操作
- 2.7.1 用户视频控制
- 2.7.2 用户语音控制
- 2.7.3 设置视频显示位置
- 2.7.4 设置指定用户音视频流相关参数
- 2.7.5 设置外部输入视频格式
- 2.7.6 外部视频数据输入
- 2.7.7 设置外部输入音频格式
- 2.7.8 外部音频数据输入
- 2.8 查询状态
- 2.8.1 查询摄像头的状态
- 2.8.2 查询用户音频设备采集状态
- 2.8.3 查询用户昵称
- 2.8.4 查询用户状态
- 2.9 普通功能
- 2.9.1 获取SDK版本信息
- 2.9.2 获取当前房间在线用户列表
- 2.9.3 获取指定房间在线用户列表
- 2.9.4 传送文本消息
- 2.9.5 透明通道传送缓冲区
- 2.9.6 传送文件
- 2.9.7 查询传输任务相关信息
- 2.9.8 取消传输任务
- 2.9.9 发送SDK Filter通信数据
- 2.9.10 音视频录制
- 2.9.11 图像抓拍(拍照)
- 2.9.12 组播功能控制
- 2.9.13 虚拟背景
- 2.10 离开房间
- 2.11 注销系统
- 2.12 系统设置
- 2.12.1 枚举本地采集设备
- 2.12.2 选择指定采集设备
- 2.12.3 获取当前采集设备
- 2.12.4 获取音频设备当前音量
- 2.12.5 设置指定音频设备音量
- 2.12.6 查询SDK内核参数
- 2.12.7 SDK内核参数设置
- 2.13 媒体播放
- 2.13.1 流媒体播放初始化
- 2.13.2 流媒体播放控制
- 2.13.3 设置流媒体播放视频显示位置
- 2.13.4 流媒体播放获取参数信息
- 2.13.5 流媒体播放释放资源
- 三、参数设置与说明
- 3.1 基础视频概念
- 3.1.1 分辨率与码率
- 3.1.2 帧率
- 3.1.3 H.264编解码
- 3.1.4 分辨率、帧率、码率之间的关系
- 3.2 基础音频概念
- 3.2.1 音频采样率及大小
- 3.2.2 音频声道
- 3.2.3 AAC编解码
- 3.3 视频质量调优
- 3.4 视频通话对带宽的需求
- 3.4.1 带宽的影响因素
- 3.4.2 视频场景的带宽要求
- 四、音视频交互示例代码
- 4.1 修改视频参数
- 4.2 如何自动打开对方的视频
- 4.3 打开多路音视频
- 五、常见问题
- 1、视频模糊有马赛克
- 2、视频卡顿
- 3、摄像头亮灯但本地视频无显示
- 4、双向视频,听不见对方声音
- 5、双向视频,看不见对方视频
- 6、内网正常,外网无法音视频
- 7、声音有啸叫和杂音
- 8、同网段正常、不同网段无法音视频
- 9、进入房间失败,返回错误代码-1
- 10、本地视频方向不正确
- 11、手机本地正常,Web看手机端有裁剪
- 12、双方视频出现绿屏、花屏
- 13、闪屏
- 14、IP摄像头的支持
- 15、服务器日志采集自定义文件夹不生效
- 16、特殊3D摄像头无法打开
- 17、音视频不同步
- 18、签名服务器部署后点登陆抛空指针异常
- 19、iOS 按HOME键进入后台 听不到 对方的声音了,对方能听到自己的(已开启音频后台模式)