在客戶端的配置文件(AnyChatSDK.ini)中增加如下配置:
~~~
[Debug Settings]
OutputTransBuffer=1
OutputTransTask=1
OutputCallBackInvoke=1
OutputAPIInvoke=1
OutputCodecLog=1
OutputThreadStatus=1
~~~
上面的配置信息“=1”表示該配置生效,將額外輸出對應的日志信息,“=0”表示關閉,不輸出對應的日志信息,在實際調試過程中,建議有針對性的開啟某一項的調試信息輸出。
**1.通道調用日志【OutputTransBuffer】**:開啟時將輸出透明通道相關的調用信息,包括:BRAC_TransBuffer、BRAC_TransBufferEx、BRAC_TransFile、BRAC_SendSDKFilterData等API接口,輸出內容包括API接口的調用、收到數據后的對應回調函數調用等信息。通常可以用來分析發送數據包,對方是否收到等。把調試設置的參數如下設置時:
~~~
[Debug Settings]
OutputTransBuffer=1
OutputTransTask=0
OutputCallBackInvoke=0
OutputAPIInvoke=0
OutputCodecLog=0
OutputThreadStatus=0
~~~
其啟動日志記錄如下:

1) BRAC_SO_AUDIO_AGCCTRL:音頻自動增益控制參數,參數類型為DWORD,當返回值為0時表示關閉,為1時表示打開(默認)。
2) BRAC_SO_AUDIO_VADCTRL:音頻靜音檢測控制參數,參數類型為DWORD,當返回值為0時表示關閉,為1時表示打開(默認)。
3) BRAC_SO_AUDIO_NSCTRL:音頻噪音抑制控制參數,參數類型為DWORD,當返回值為0時表示關閉,為1時表示打開(默認)。
4) BRAC_SO_AUDIO_ECHOCTRL:音頻回音消除控制參數,參數類型為DWORD,當返回值為0時表示關閉,為1時表示打開(默認)。
5) Invoke AudioGetVolume(device:1, dwVolume:50)=0
Invoke AudioGetVolume(device:0, dwVolume:50)=0//表示獲取設備1和設備0的當前音量,0表示調用執行。
當傳輸文件時,此時會調用BRAC_TransFile接口,其日志如下:
~~~
Invoke BRAC_TransFile(dwUserid=-16,dwTaskId:14975, PathName:D:\360Downloads\liebaofreewifi_2015.3.16.5.1426486905.exe)=0 //DwUserid=-16為目標用戶編號,dwTaskId:14975為任務編號,PathName是路徑名稱。
~~~
當傳入緩沖區時,此時會調用BRAC_TransBufferEx接口,其日志如下:
Invoke BRAC_TransBufferEx(dwUserid=-16, buf[0]=0x88, buf[10239]=0x0, len=10240, rc=0, dwTaskId:14976) //dwUserid=-16為目標用戶標號,buf[0]=0x88表示數據起始的內存地址,buf[10239]=0x0為數據結束的內存地址,len=10240表示數據長度,dwTaskId:14976表示任務標號。
**2.任務工作日志【OutputTransTask】:** 輸出傳輸任務相關的信息,包括BRAC_TransBufferEx、BRAC_TransFile等API接口,輸出內容包含任務的創建、傳輸、完成等工作狀態。設置如下:
~~~
[Debug Settings]
OutputTransBuffer=0
OutputTransTask=1
OutputCallBackInvoke=0
OutputAPIInvoke=0
OutputCodecLog=0
OutputThreadStatus=0
~~~
其日志記錄如下:

srcUserId:-22為發送方編號,tarUserId:-23為接收方編號,TaskId:27036為任務編號,Status:2正在傳輸的狀態編號,sendbitrate:403kbps為傳送比特率,recvbitrate:419kbps為接受的比特率,dwDeliverBitrate:200kbps為傳輸的比特率,fLossRate:0.00為丟包率,fBitrateError:0.00為誤碼率,finishpacknum:331為完成的包數,Status:3為傳送成功的狀態碼。
**3.函數調用日志【OutputCallBackInvoke】:** 開啟時將輸出所有回調函數的調用記錄,包括開始調用、結束調用等。設置如下:
~~~
[Debug Settings]
OutputTransBuffer=0
OutputTransTask=0
OutputCallBackInvoke=1
OutputAPIInvoke=0
OutputCodecLog=0
OutputThreadStatus=0
~~~
對方傳輸文件來本機,其日志記錄如下:
Begin TransBufferFile Callback
End TransBufferFile Callback
//該日志表示開始調用TransBufferFile Callback接口和結束調用TransBufferFile Callback接口。
**4.API接口調用日志【OutputAPIInvoke】:** 開啟時將輸出所有API的調用記錄,包括開始調用,結束調用等。設置如下:
~~~
[Debug Settings]
OutputTransBuffer=0
OutputTransTask=0
OutputCallBackInvoke=0
OutputAPIInvoke=1
OutputCodecLog=0
OutputThreadStatus=0
~~~
其日志記錄如下:
a) BRAC_Connect---->
Invoke BRAC_Connect(192.168.6.101,8906)=0
<----BRAC_Connect
//表示連接開始,正在連接,連接結束。
b) BRAC_Login---->
Invoke LoginServer(username=AnyChat5)
<----BRAC_Login
//表示登錄開始,正在登錄,登錄結束。
c) BRAC_EnterRoom---->
Invoke EnterRoom(roomid=1)
<----BRAC_EnterRoom
//表示開始進入房間,正在進入房間,進入房間結束。
d) <----BRAC_SetVideoPos
BRAC_UserCameraControl---->
Invoke UserCameraControl(userid=-1,bOpen=1)
<----BRAC_UserCameraControl
BRAC_UserSpeakControl---->
Invoke UserSpeakControl(userid=-1,bOpen=1)
<----BRAC_UserSpeakControl
//表示音視頻開始操作,正在操作音視頻,操作音視頻操作完成。
e) BRAC_GetOnlineUser---->
<----BRAC_GetOnlineUser
//表示開始獲得在線用戶,獲得在線用戶結束。
**5.編解碼器調試信息【OutputCodecLog】:** 開啟時將輸出內核編解碼器的額外調試信息。設置如下:
~~~
[Debug Settings]
OutputTransBuffer=0
OutputTransTask=0
OutputCallBackInvoke=0
OutputAPIInvoke=0
OutputCodecLog=1
OutputThreadStatus=0
~~~
其日志記錄如下:

**6.線程工作狀態日志【OutputThreadStatus】:** 開啟時將輸出工作線程的日志信息。設置如下:
~~~
[Debug Settings]
OutputTransBuffer=0
OutputTransTask=0
OutputCallBackInvoke=0
OutputAPIInvoke=0
OutputCodecLog=0
OutputThreadStatus=1
~~~
其日志記錄如下:
