【问题标题】:Twilio Video - Track enable/disable event not firingTwilio Video - 跟踪启用/禁用事件未触发
【发布时间】:2021-02-18 16:30:29
【问题描述】:

对于 localParticipant 手动构建和发布的轨道,启用/禁用这些轨道显然对远程参与者没有影响。因此,例如,如果 localParticipant 想要将其音频静音,则远程参与者将继续接收该 localParticipant 的音频。

我找到了至少 2 种重现此错误的方法:

  1. 当参与者首次连接到房间时,如果参与者构建自己的轨道对象并将其作为连接选项传递,如下所示:
Twilio.Video.connect(twilioToken, {
  name: roomName,
  tracks: [LocalTrack|MediaStreamTrack] // The tracks array is constructed by converting from a MediaStream object containing 1 audio and 1 video track
})

这些曲目将成功发布,但不会注册其启用/禁用事件。

但是,如果参与者像这样连接到房间:

Twilio.Video.connect(twilioToken, {
  name: roomName,
  video: true,
  audio: true,
})

为这些轨道触发轨道启用/禁用事件,当 localPartipants 禁用任何轨道时,远程参与者将收到通知。

  1. 当 localParticipant 发布手动构建的新轨道时,新轨道的启用/禁用事件不会触发到 remoteParticipants。
    const newLocalAudioTrack = new Twilio.Video.LocalAudioTrack(newAudioTrack); //newAudioTrack is a MediaStreamTrack object
    localParticipant.publishTrack(newLocalAudioTrack); // track gets successfully published

    // Trying to disable track after track has been published and registered by the remoteParticipant
    localParticipant.audioTracks.forEach((publication) => { publication.track.disable(); }); // This will not work and remote Participant will continue to receive audio, no disable event is registered by any remoteParticipants

项目环境:Node.js、Twilio-video@2.12.0、Twilio@3.56.0

如果您需要任何其他详细信息,请告诉我。

【问题讨论】:

  • 你找到解决办法了吗,我还是有这个问题。

标签: twilio twilio-api twilio-video


【解决方案1】:

多功能室已加入(房间){

$('#call-microphone').click(function ()
{
    console.log('MICROPHONE MUTED');
    if (microphone) {
        room.localParticipant.audioTracks.forEach(function (audioTrack) {
            console.log("audioTrack-- "+audioTrack);
            audioTrack.disable();
        });
        microphone = false;
        $('#call-microphone').html('<span class="fa fa-microphone"></span> ');
        console.log('MICROPHONE MUTED', 'control', 'bg-warning');
    } else {
        room.localParticipant.audioTracks.forEach(function (audioTrack) {
            console.log("audioTrack-- "+audioTrack);
            audioTrack.enable();
        });
        microphone = true;
        $('#call-microphone').html('<span class="fa fa-microphone-slash"></span> ');
        console.log('MICROPHONE ON', 'control', 'bg-info');
    }
});

}

【讨论】:

    猜你喜欢
    • 2018-06-19
    • 1970-01-01
    • 2011-09-18
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-26
    • 1970-01-01
    相关资源
    最近更新 更多