4

twilio-video:1.19.2在 Angular 8 中使用过。

我已经实现了一对一视频通话的功能。

下面是我用来启用/禁用视频的代码。

toggleVideo() {
    this.videoConference.isPaused = !this.videoConference.isPaused;
    this.twilioRoom.localParticipant.videoTracks.forEach(track => {
        if (this.videoConference.isPaused) {
            track.disable();
        } else {
            track.enable();
        }
    });
}

视频通话似乎工作正常。但是当我在参与者端暂停视频时,只会显示一段时间黑屏。大多数时候它freezes video(最后记录的帧停留)。

这个问题报告在 react-twilio 库https://github.com/blackuy/react-native-twilio-video-webrtc/issues/165

有谁知道如何解决这个问题?

有没有办法添加黑屏(视频轨道)?

当视频从参与者端暂停时,我想显示黑屏。

4

2 回答 2

5

Twilio 开发人员布道者在这里。

在这种情况下,您需要做的是处理远程用户禁用他们的轨道并将其从您的本地视图中删除。

为此,您可以侦听Participant'trackDisabled事件并相应地处理它。

remoteParticipant.on('trackDisabled', track => {
  // hide or remove the media element related to this track
});

您应该确保编写代码来处理再次启用的轨道:

remoteParticipant.on('trackEnabled', track => {
  // show the track again
});
于 2019-10-25T05:30:27.360 回答
0

如何参与者音轨禁用。

//Participant 是所有与 Room 连接的参与者。对于前。用户 1 屏幕页面参与者用户 2、用户 3 和用户 4。

participant.audioTracks.forEach(function (track) {
//sid is disable Audio track Particular Participant sid. For Ex. User-1 Screen Participant User-3 audio disable using audio track sid It is Possible. If Possible give me code or reference url link.
if (track.sid == sid) {
//participant audio track disable.
     track.disable();
}
else {
     //participant audio track enable.
     track.enabled();
}
});

任何方式另一种方式请提供代码或参考 URL 链接我这样做。

于 2019-11-11T06:38:40.900 回答