Twilio video Participant{Disable}Video Track 冻结视频

Twilio video onParticipant{Disabled}VideoTrack Freezes Video

我在angular 8.

中使用了twilio-video:1.19.2

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

下面是我用于 enable/disable 视频的代码。

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

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

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

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

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

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

为此,您可以监听 Participant's trackDisabled event 并相应地处理它。

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

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

remoteParticipant.on('trackEnabled', track => {
  // show the track again
});

如何禁用与会者音轨。

//Participant是所有连接到Room的参与者。对于前。 User-1 屏幕页面参与者 User-2、User-3 和 User-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();
}
});

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