【问题标题】:Twilio video onParticipant{Disabled}VideoTrack Freezes Video参与者{禁用}视频轨道冻结视频的 Twilio 视频
【发布时间】:2020-02-21 00:29:18
【问题描述】:

我在 Angular 8 中使用了twilio-video:1.19.2

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

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

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报告了这个问题

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

有什么办法可以加黑屏吗?

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

【问题讨论】:

    标签: angular video twilio twilio-api twilio-video


    【解决方案1】:

    如何禁用参与者音轨。

    //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 链接我这样做。

    【讨论】:

    • 是参与者音轨启用和禁用。
    【解决方案2】:

    这里是 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
    });
    

    【讨论】:

    • 有没有办法显示黑屏轨迹?如果我删除曲目,那么看起来参与者已断开连接。
    • 当然有,这是你的 Angular 应用,你可以渲染一个黑色背景的 <div> 或者你的用户头像,或者通用头像图像。这完全取决于您。
    • 是的。这是视频添加到该 div 的某些部分(轨道大小不同)。所以想显示相同大小的黑屏。将主 div 设为黑色,它看起来会有所不同。
    • 恐怕我不知道您的应用程序是如何呈现或设置样式的,但我认为通过一些实验您可以找到一种方法来替换丢失的视频。依赖视频变黑实际上是依赖于意外的副作用,即丢失流并将其替换为适合您 UI 的内容将是更好的用户体验。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-27
    • 2014-03-18
    • 1970-01-01
    相关资源
    最近更新 更多