Estoy desarrollando una solución de videoconferencia usando un servidor de medios llamado janus. Transmite el micrófono y la cámara usando WebRTC. No quiero que se encienda la luz de la computadora portátil cuando solo está encendido el micrófono. Sin embargo, al igual que cuando solo está encendida la cámara, la luz indicadora se enciende cuando solo está encendido el micrófono. ¿Cómo puedo solucionar esto?
Supongo que por WebRTC, está obteniendo el micrófono/cámara web del usuario a través de navigator.mediaDevices.getUserMedia . Creo que la luz de la cámara está controlada por el controlador de la computadora portátil y no puedes controlarla. Sin embargo, si no necesita video, puede establecer el parámetro de restricción:
// Set video to false so camera is not activated const constraints = { audio: true, video: false } const stream = await navigator.mediaDevices.getUserMedia(constraints);De esta manera, es de esperar que la cámara no esté activada y la luz de la computadora portátil no se encienda.
Si desea deshabilitar el video después de solicitarlo, intente detener la pista de video. Con suerte dejaría de usar la cámara y la luz se apagaría:
stream.getVideoTracks().forEach(track => track.stop());