Twilio Video - включение / отключение трека, событие не срабатывает

Для треков, которые 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, [email protected], [email protected]

Пожалуйста, дайте мне знать, если вам понадобятся другие подробности.


person xz254    schedule 18.02.2021    source источник
comment
Вы уже нашли исправление, у меня все еще проблемы с этим.   -  person DrSmrtnik    schedule 30.06.2021


Ответы (1)


function roomJoined (room) {

$('#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');
    }
});

}

person Balvant parmar    schedule 12.04.2021