|
根据部分用户反馈,在某些情况下,android平台视频显示不正常,只刷新很小一部分区域,该问题已得到验证并解决,解决方案如下:
1、更新AnyChat for Android SDK到v1.9版本(需要替换.so库和.java源代码);
2、修改上层应用代码,在VideoActivity.java中,将:- SurfaceHolder holder = otherView.getHolder();
- holder.setFormat(PixelFormat.RGB_565);
- holder.setFixedSize(anychat.GetUserVideoWidth(userID), anychat.GetUserVideoHeight(userID));
复制代码 修改为:
- SurfaceHolder holder = otherView.getHolder();
- // 如果是采用内核视频显示(非Java驱动),则需要设置Surface的参数
- if(AnyChatCoreSDK.GetSDKOptionInt(AnyChatDefine.BRAC_SO_VIDEOSHOW_DRIVERCTRL) != AnyChatDefine.VIDEOSHOW_DRIVER_JAVA) {
- holder.setFormat(PixelFormat.RGB_565);
- holder.setFixedSize(anychat.GetUserVideoWidth(userID), anychat.GetUserVideoHeight(userID));
- }
复制代码 即设置视频Surface参数之前增加一个条件判断,只有内核视频显示驱动时才设置,详情请参考AnyChat Android示例工程源代码。
|
|