Android 视频二次开发技术
近日有朋友反馈使用Chat SDK音视频解决方案时遇到问题
1、本地视频黑屏、不显示
问题可能原因:没有设置音视频参数,没有使用Java采集模式
解决方法:导入标准示例中的 hallactivity 类中的ApplyVideoConfig函数至当前项目中,并将其整合到工程架构中,在完成SDK初始化后进行功能调用。例如
-
//初始化SDK
-
anychat.InitSDK(android.os.Build.VERSION.SDK_INT, 0);
-
//设置音视频参数
-
ApplyVideoConfig();
复制代码
(注:需要在初始化后设置参数才有效)
2、本地视频可以显示,远程视频黑屏、不显示
问题可能原因:没有将远程视频绑定surfaceview
解决方法:在请求远程视频操作之前调用绑定的代码,如下面所示
-
// 如果是采用Java视频显示,则需要设置Surface的CallBack
-
当检查视频直播相关选项时(或:在检查视频直播相关选项时),若返回值等于指定Java驱动值,则触发相应的逻辑流程(或:若返回值与指定Java驱动值相等,则执行后续操作)。
-
int index = anychat.mVideoHelper.bindVideo(otherView.getHolder());
-
anychat.mVideoHelper.SetVideoUser(index, userID);
-
}
-
//请求远程视频
-
anychat.UserCameraControl(userID, 1);
-
anychat.UserSpeakControl(userID, 1);
复制代码
注:如果请求远程视频的位置不止一处,则需要分别调用这段代码。例如,在OnAnyChatOnlineUserMessage和OnAnyChatUserAtRoomMessage这两种场景中都涉及到需要打开远程音频和视频的操作时,则都需要调用上述代码段进行处理。
