问题描述
为什么videoTileDidUpdate
遍历每个图块4次?
这是AWS Chime SDK js的基本演示连接。
const observer = {
audioVideoDidStart () => {
//Start our local user video
var localTileId = meetingSession.audioVideo.startLocalVideoTile();
meetingSession.audioVideo.bindVideoElement(localTileId,notaryVideoElement);
},videoTileDidUpdate: tile =>{
console.log("Tile",tile);
}
}
现在尝试添加与会者或contentShare,它会在每个磁贴中循环4次:
tileId: 1,active: false,isContent: false,isLocal: true,boundAttendeeId: null
tileId: 1,active: true,boundAttendeeId: <guid>
tileId: 1,isLocal: true:
boundAttendeeId: null
tileId: 1,isLocal: true:
boundAttendeeId: null
tileId: 2,isLocal: false,boundAttendeeId: null
tileId: 2,isContent: true,boundAttendeeId: <guid>#content
tileId: 2,isConent: true,boundAttendeeId: <guid>
tileId: 2,boundAttendeeId: null
这令人发疯,因为我无法正确绑定我的内容共享。 将此视为我遵循的推荐方法:AWS ContentShare
这是Chime的错误吗?
我在这里未回答任何问题,所以我想再试一次:AWS Chime - assigning videos to tiles does not work as expected
解决方法
所以我终于想通了。 如果转到Chime SDK github,您会发现在每个观察者示例中,它们始终具有:
if (!tileState.boundAttendeeId) {
return;
}
那是关键。每个可用的图块引用都应具有boundAttendeeId。然后它将整理出正确的图块参考,以用于组织用户界面。
我也已经与参加者进行了测试。