AWS Chime-将视频分配给图块无法正常工作

问题描述


我以这种方式设置了一个AWS Chime会议,其中包含5个视频图块(video-tile-0至video-tile-4):

Chime Layout

会议建立后,观察者回调audioVideoDidStart被启动,这时我绑定了#local-video-tile

var localTileId = meetingSession.audioVideo.startLocalVideoTile();
meetingSession.audioVideo.bindVideoElement(localTileId,videoElement);
$(videoElement).show();

接下来,用户点击开始共享以激活meetingSession.audioVideo.startContentShareFromScreenCapture();
共享开始后,将调用观察者回调videoTileDidUpdate

这就是我的问题。我有2个视频图块应被占用。

videoTileDidUpdate = tile =>然后遍历tileId为1和tileId为2的图块。
但是每个tileId都会循环4次。每次,即使每个图块具有相同的tileId,其设置也不同。

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



通过使用tile对象中提供的标志,我消除了循环中的许多内容。

videoTileDidUpdate: tile => {
    if (tile.active || tile.localTile) return;

    if (tile.isContent && tile.boundAttendeeId) {
        var contentVideoEl = document.getElementById("screen-share-tile");
        meetingSession.audioVideo.bindVideoElement(tile.tileId,contentVideoEl);
    } else if (tile.boundAttendeeId || tile.isContent || tile.localTile) {
        return;
    } 
    else
    {
        var videoElement = attendeeVideoElements[tile.tileId - 1];
        meetingSession.audioVideo.bindVideoElement(tile.tileId,videoElement);
    }
}


//Which now outputs:
tileId: 2,boundAttendeeId: <guid>#content



如您所知,这会将我的screenShare绑定到#screen-share-tilevideo-tile-2

我该如何预防?
我还缺少另一个布尔值吗?

现在,它在文档中说isContent将代表屏幕共享或用户共享的内容(如视频),那么tileId 2如何具有所有这些不同的设置?是否正确标记tileId?

我尝试了if块的许多不同变体,并将startContentShareFromScreenCapture(<state>)中的状态设置为无效。
AWS提供的资源是摘要,关于其中的任何内容实际上没有多少描述。 https://aws.github.io/amazon-chime-sdk-js/index.html

任何帮助是极大的赞赏!我已经为此苦苦挣扎了两个星期。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)