es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Es posible grabar solo las pistas de audio si también se habilita el video con MediaRecorder?

Estoy trabajando en un escenario en el que solicitaré los permisos de la cámara y el micrófono antes de unirme a la sesión. Así que apliqué las siguientes restricciones en navigator.mediaDevices.getUserMedia.

const constraints = {
    audio: true,
    video: {
        width: 1280, height: 720
    }
};

Todo funciona bien hasta aquí. Pero ahora quiero grabar solo las pistas de audio utilizando MediaRecorder. Los otros usuarios pueden ver el video del otro par, pero en la sesión actual, solo quiero grabar el contenido de audio para todos los usuarios.

Intenté configurar el MimeType, pero sigue grabando también el contenido de video. Creo que el MimeType sirve solo para establecer el tipo MIME de cada pista.

¿Necesito hacer algo en el lado del servidor donde se carga el dato de blob?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Cuando intenta grabar solo pistas de audio utilizando MediaRecorder con navigator.mediaDevices.getUserMedia, hay algunas cosas a considerar.

    Primero, establecer el mimeType solo especifica el formato en el cual se guardará los datos grabados. No afecta qué pistas se graban.

    Para grabar solo las pistas de audio, debe modificar el objeto de restricciones que se pasa a getUserMedia para incluir solo la pista de audio. Aquí tienes un ejemplo:

    const constraints = {
      audio: true,
      video: false
    };
    
    navigator.mediaDevices.getUserMedia(constraints)
      .then(stream => {
        const mediaRecorder = new MediaRecorder(stream, { mimeType: 'audio/webm' });
        // resto de la lógica de MediaRecorder...
      })
      .catch(error => {
        console.error('Error al acceder al micrófono', error);
      });
    

    Esto solo solicitará acceso a la pista de audio y no a la pista de video.

    En el lado del servidor donde se carga o procesa los datos grabados, es posible que también necesite asegurarse de que solo se esté utilizando o guardando los datos de audio. Dependiendo de su implementación, es posible que deba modificar el código para ignorar cualquier dato de video que se reciba.

Comments are closed.