Для треков, которые localParticipant создает и публикует вручную, включение / отключение этих треков, по-видимому, не влияет на удаленных участников. Так, например, если localParticipant хотел отключить звук, удаленный участник продолжит получать звук этого localParticipant.
Я нашел как минимум 2 способа воспроизвести эту ошибку:
- Когда участник впервые подключается к комнате, если участник создает свой собственный объект треков и передает его как вариант подключения, например:
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 отключит какие-либо треки.
- Когда 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]
Пожалуйста, дайте мне знать, если вам понадобятся другие подробности.