標籤:android視頻開發 音視頻解決方案 android視頻顯示 移動視頻開發技術
近日,發現有較多朋友反饋在使用AnyChat的音視頻解決方案,特別是在將標準android demo的VideoActivity視頻部分代碼移植到自己的工程中遇到本地視頻黑屏或者遠程視頻顯示不了的問題。這些問題在我當時的開發過程中同樣遇到了,在這裡就簡單把當時我自己解決問題的心得做一個簡單匯總說明以及相應解決方案。
1、本地視頻黑屏、不顯示
問題可能原因:沒有設定音視頻參數,沒有使用Java採集模式
解決方案:將標準demo裡面hallactivity類中的ApplyVideoConfig函數移植到工程中,在初始化SDK之後調用,如下面所示
//初始化SDK
anychat.InitSDK(android.os.Build.VERSION.SDK_INT, 0);
//設定音視頻參數
ApplyVideoConfig();
複製代碼
(註:需要在初始化後設定參數才有效)
2、本地視頻可以顯示,遠程視頻黑屏、不顯示
問題可能原因:沒有將遠程視頻綁定surfaceview
解決方案:在請求遠程視頻操作之前調用綁定的代碼,如下面所示
// 如果是採用Java視頻顯示,則需要設定Surface的CallBack
if(AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) == AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
int index = anychat.mVideoHelper.bindVideo(otherView.getHolder());
anychat.mVideoHelper.SetVideoUser(index, userID);
}
//請求遠程視頻
anychat.UserCameraControl(userID, 1);
anychat.UserSpeakControl(userID, 1);
複製代碼
(註:如果請求遠程視頻有多處地方,都需要調用這段代碼。如在OnAnyChatOnlineUserMessage和OnAnyChatUserAtRoomMessage中都有開啟遠程音視頻的操作,那麼都需要調用上面的代碼)
淺談AnyChat 音視頻解決方案for Android 視頻顯示問題