代码补充 wxml code <block wx:for="{{openIdList}}" wx:key="item"> <block wx:if="{{selfOpenId === item }}"> <voip-room openid="{{item}}" class="room{{fullScreenOpenId==item ? ' full-screen' : ''}}{{(fullScreenOpenId!='' && fullScreenOpenId!=item) ? 'hide' : ''}}" data-openId="{{item}}" mode="{{selfOpenId === item ? 'camera' : 'video'}}" binderror="roomError" device-position="{{cameraDirection ? 'front' : 'back'}}" catchtap="onClickVideo"></voip-room> </block> <block wx:else> <voip-room openid="{{item}}" class="room{{fullScreenOpenId==item ? ' full-screen' : ''}}{{(fullScreenOpenId!='' && fullScreenOpenId!=item) ? 'hide' : ''}}" data-openId="{{item}}" mode="{{selfOpenId === item ? 'camera' : 'video'}}" binderror="roomError" catchtap="onClickVideo"></voip-room> </block> </block> JS CODE wx.joinVoIPChat({ roomType: "video", signature: res.data.result.data.signature, nonceStr: res.data.result.data.nonceStr, timeStamp: res.data.result.data.timestamp, groupId: res.data.result.data.groupId, success: function (e) { console.log("调用微信加入会议接口成功"); console.log(e); that.setData({ openIdList: e.openIdList }); //订阅视频画面成员。对于视频房间,当成员超过两人时需进行订阅,否则只能看到最先加入房间的两人画面。 wx.subscribeVoIPVideoMembers({ openIdList: e.openIdList, success(res) { console.log('subscribeVoIPVideoMembers success') } }) //监听实时语音通话成员在线状态变化事件。有成员加入/退出通话时触发回调 wx.onVoIPChatMembersChanged(function (res) { console.log('onVoIPChatMembersChanged success') that.setData({ openIdList: res.openIdList }) //订阅视频画面成员。对于视频房间,当成员超过两人时需进行订阅,否则只能看到最先加入房间的两人画面。 wx.subscribeVoIPVideoMembers({ openIdList: res.openIdList, success(res) { console.log('subscribeVoIPVideoMembers success_b') } }) }) }, fail: function (e) { console.log("调用微信加入会议接口失败"); }, complete: function (e) { console.log("调用微信加入会议接口完成"); wx.hideLoading({ success: (res) => {}, }) } });
voip-room黑屏问题?组件:voip-room API:wx.joinVoIPChat 微信版本号:android(7.0.22),ios(7.0.20) 基础库:2.14.1 问题: 1、A加入视频会议,A视频画面显示正常 2、B加入视频会议,B小程序中A、B视频画面显示正常;A小程序中B画面是黑屏 3、C加入视频会议,C小程序中,B视频画面黑屏,A,C显示正常;B小程序中,C画面黑屏,A,B显示正常;A小程序中,C画面黑屏,A,B显示正常。 请问一下这个是什么原因,我看代码中订阅和加入退出事件处理都已添加并生效的。一直没有找到相关原因,请大家指教一下。 wxml 代码 <block wx:for="{{openIdList}}" wx:key="item"> <block wx:if="{{selfOpenId === item }}"> <voip-room openid="{{item}}" class="room{{fullScreenOpenId==item ? ' full-screen' : ''}}{{(fullScreenOpenId!='' && fullScreenOpenId!=item) ? 'hide' : ''}}" data-openId="{{item}}" mode="{{selfOpenId === item ? 'camera' : 'video'}}" binderror="roomError" device-position="{{cameraDirection ? 'front' : 'back'}}" catchtap="onClickVideo"></voip-room> </block> <block wx:else> <voip-room openid="{{item}}" class="room{{fullScreenOpenId==item ? ' full-screen' : ''}}{{(fullScreenOpenId!='' && fullScreenOpenId!=item) ? 'hide' : ''}}" data-openId="{{item}}" mode="{{selfOpenId === item ? 'camera' : 'video'}}" binderror="roomError" catchtap="onClickVideo"></voip-room> </block> </block> js代码 wx.joinVoIPChat({ roomType: "video", signature: res.data.result.data.signature, nonceStr: res.data.result.data.nonceStr, timeStamp: res.data.result.data.timestamp, groupId: res.data.result.data.groupId, success: function (e) { console.log("调用微信加入会议接口成功"); console.log(e); that.setData({ openIdList: e.openIdList }); //订阅视频画面成员。对于视频房间,当成员超过两人时需进行订阅,否则只能看到最先加入房间的两人画面。 wx.subscribeVoIPVideoMembers({ openIdList: e.openIdList, success(res) { console.log('subscribeVoIPVideoMembers success') } }) //监听实时语音通话成员在线状态变化事件。有成员加入/退出通话时触发回调 wx.onVoIPChatMembersChanged(function (res) { console.log('onVoIPChatMembersChanged success') that.setData({ openIdList: res.openIdList }) //订阅视频画面成员。对于视频房间,当成员超过两人时需进行订阅,否则只能看到最先加入房间的两人画面。 wx.subscribeVoIPVideoMembers({ openIdList: res.openIdList, success(res) { console.log('subscribeVoIPVideoMembers success_b') } }) }) }, fail: function (e) { console.log("调用微信加入会议接口失败"); }, complete: function (e) { console.log("调用微信加入会议接口完成"); wx.hideLoading({ success: (res) => {}, }) } });
2021-01-08