### **SDK內核參數設置(整形值)**
函數: BRAC_SetSDKOptionInt(INT optname, INT value)
功能: SDK內核參數設置
參數:
optname 內核參數名稱(見anychatsdk.js內核參數類型定義)value 設置的參數值,整型值
返回值:0表示成功,否則為出錯代碼
說明:
可以通過該方法對AnyChat Core SDK內部的參數進行設置,實現特殊的功能要求
### **SDK內核參數設置(字符串值)**
函數: BRAC_SetSDKOptionString(INT optname, STRING value)
功能: SDK內核參數設置
參數:
optname 整型值,內核參數名稱(見anychatsdk.js內核參數類型定義)
value 設置的參數值,字符串值
返回值:0表示成功,否則為出錯代碼
說明:
可以通過該方法對AnyChat Core SDK內部的參數進行設置,實現特殊的功能要求
內核參數定義(API:BRAC_SetSDKOption傳入參數)
~~~
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鍵進入后臺 聽不到 對方的聲音了,對方能聽到自己的(已開啟音頻后臺模式)