1

为什么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,
isContent: false,
isLocal: true,
boundAttendeeId: <guid>

tileId: 1,
active: true,
isContent: false,
isLocal: true:
boundAttendeeId: null

tileId: 1,
active: false,
isContent: false,
isLocal: true:
boundAttendeeId: null

tileId: 2,
active: false,
isContent: false,
isLocal: false,
boundAttendeeId: null

tileId: 2,
active: false,
isContent: true,
isLocal: false,
boundAttendeeId: <guid>#content

tileId: 2,
active: true,
isConent: true,
isLocal: false,
boundAttendeeId: <guid>

tileId: 2,
active: false,
isContent: false,
isLocal: false,
boundAttendeeId: null

这令人抓狂,因为我无法正确绑定我的内容共享。将此视为我遵循的推荐方法:AWS ContentShare

这是一个编钟错误吗?

我在这里问了这个问题,但没有得到答案,所以我想我会再试一次:AWS Chime - 将视频分配给磁贴无法按预期工作

4

1 回答 1

1

所以我终于想通了。如果您访问Chime SDK github,您会注意到在每个观察者示例中,它们总是具有:

if (!tileState.boundAttendeeId) {
      return;
}

那是关键。每个可用的磁贴引用都应具有 boundAttendeeId。然后它将整理出正确的磁贴参考,用于组织您的 UI。

我也和与会者一起测试过。

于 2020-09-15T18:33:53.717 回答