Así que estoy creando una aplicación de clonación de zoom simple y tengo un problema con la API de DataTrack .
Seguimiento de datos inicializado
this.dataTrack = new LocalDataTrack();El problema es que después de salir/desconectarse de la habitación, el icono de registro en el navegador sigue ahí.
Función LeaveRoom
this.room.localParticipant.videoTracks.forEach((publication) => { publication.track.stop(); publication.unpublish(); }); console.log("this.dataTrack", this.dataTrack); // HOW TO STOP THIS ?El objeto LocalDataTrack tiene una propiedad de identificación.
Puede obtener MediaStreamTrack buscando las pistas de flujo de medios de los flujos de medios.
const userMedia = navigator.mediaDevices.getUserMedia({video:true, audio:true}); const tracks = userMedia.then(mediaStreams => { const tracks = mediaStreams.getTracks(); for(let track of tracks) { if(track.id === this.dataTrack.id) { track.stop(); } } });Estos son los 3 que hago. Funciona de maravilla.
//Remove chromes "your browser is using the camera" icon track.forEach((track) => track.stop()) room.localParticipant.unpublishTracks(track) track.forEach((track) => track.detach())