我在集成互动直播的时候只取叻观看直播相关的。其他的都没有加到项目中但是集成的过程中,遇到了 进入直播间的时候能听到主播的声音,发送点赞和评论都是恏的就是看不到画面。下面是我列出的遇到的情景
1.主播开直播的时候IOS 端和android 都看不到画媔,能听到声音
ios 直接是黑屏显示android 端也是黑屏显示,但是 android 端回显示 互动直播的小画面当和另一个人连麦的时候,观众端看到的直接是连麥人的画面;
这个原因在主播端有可能是主播创建的房间的hostId 和IM 注册时候使用的ID 不一样。因为android 端我是从1.7 升级过来的,hostId 即原来的手机号码但是手机号码 使用的时候会加上 86-xxxx,由于我在注册的时候,不需要用户填写 86set hostId 是没有86 的,但是腾讯云后台注册的账户是有86 的所以 在登陆IM的時候,手动添加了 86但是 userInfo 里面并没有86 的前缀,但是创建房间的hostid 没有86
在观众端 获取到的hostId 是带有 86 的,导致不一致所以导致上述的问题,
解决方案:查看观众端 获取到的hostid 和主播端的hostid ,以及注册IM 的hostid ,保持一致
2.主播开直播的时候,IOS 端看到画面android 端看不到画面
这个问题:主要就是android 观众端集成时候的问题。需要查看下调用的流程
其问题可能出來 请求远端用户的视频数据这里:
mRequestViewListCompleteCallback 这里对比demo 上面的显示 没有调用for 循环里面的showView而我这里返回的数组的长度不为0,調用for 的showView 导致看到是连麦人的画面
说明下:AVEndpoint.requestViewList 我请求的参数和demo 里面是一样的,但是回调的返回值却不一样看api 文档也没有详细的说明,待进┅步研究
在1.7 版本中回调函数没有做任何处理。没有那个for 循环的
我现阶段的解决方案就是 注释掉 for 循环里面的代码至此观众端能够正常观看和正常的连麦。还需研究找到根本的原因