Utiliza la API de audio fallback para priorizar dinámicamente el audio en respuesta a la calidad de la red.

Nota: En audioFallbackEnabled puntal del OTPublisher quedará obsoleto. Utilice el componente audioFallback.subscriber en su lugar.

Enabling and disabling audio-only fallback

Fije el audioFallback propiedad del properties prop que pasa al OTPublisher componente:

// Enable subscriber audio fallback (the default)
// and publisher audio fallback:
<OTPublisher
  properties={{
    audioFallback={
      publisher: true,
    },
  }}
/>
});

// Enable publisher audio fallback and disable subscriber audio fallback:
<OTPublisher
  properties={{
    audioFallback: {
      publisher: true,
      subscriber: false,
    },
  }}
/>

// Enable subscriber audio fallback and disable publisher audio fallback:
<OTPublisher
  properties={{
    audioFallback: {
      publisher: false,
      subscriber: true,
    },
  }}
/>

// Disable both publisher audio fallback (the default)
// and subscriber audio fallback:
<OTPublisher
  properties={{
    audioFallback: {
      subscriber: false,
    },
  }}
/>

En audioFallback incluye dos propiedades booleanas:

  • publisher - Si se activa (true) o desactivar (false) Retorno de audio del editor. Si se activa esta opción, cuando la calidad del flujo se degrada significativamente (por ejemplo, debido a las condiciones de la red), el editor desactiva el vídeo para preservar la calidad del audio. El valor predeterminado es false (el editor de audio fallback está desactivado).
  • subscriber - Si se activa (true) o desactivar (false). Esta configuración sólo se aplica en las sesiones enrutadas (sesiones que utilizan la función Router multimedia de vídeo de Vonage). El audio fallback del suscriptor no es compatible con las sesiones retransmitidas. Con la función de recuperación de audio del suscriptor habilitada, cuando el enrutador de medios de video de Vonage determina que la calidad de una transmisión se ha degradado significativamente para un suscriptor específico, desactiva el video en ese suscriptor para preservar la calidad del audio. El valor predeterminado es true (el audio fallback del abonado está activado). Este ajuste sustituye al audioFallbackEnabled que quedará obsoleta.

Audio fallback events

Cuando el audio fallback del editor está habilitado, los métodos callback del componente OTPublisher son invocados en respuesta a condiciones de calidad cambiantes:

  • videoDisableWarning() - Se activa cuando el Editor determina que la calidad del flujo se ha degradado y el vídeo se desactivará si la calidad se degrada más.
  • videoDisableWarningLifted() - Se activa cuando el Editor determina que la calidad de la transmisión ha mejorado hasta el punto en que la desactivación del vídeo no supone un riesgo inmediato.
  • videoDisabled() - Se ejecuta cuando el editor determina que la calidad del flujo se ha degradado y el transporte de vídeo saliente se ha desactivado. Nota: mientras el vídeo está desactivado, el editor sigue mostrando el vídeo del editor (como la imagen de la cámara) en la interfaz de usuario del cliente de publicación.
  • videoEnabled() - Se llama con la propiedad reason establecida en 'quality' cuando el Editor determina que la calidad del flujo ha mejorado y se ha vuelto a habilitar el transporte de vídeo saliente.

Por ejemplo, el siguiente código añade escuchadores de eventos para los eventos relacionados con la caída de audio (para que pueda proporcionar notificaciones a la interfaz de usuario):

<OTPublisher
  properties={{
    audioFallback: {
      publisher: true,
    }
  }}

  eventHandlers={{
    videoDisableWarning: () => {
      // Add UI notification
    },
    videoDisableWarningLifted: () => {
      // Adjust UI notification
    },
    videoDisabled: () => {
      // Add UI notification
    },
    videoEnabled: () => {
      // Remove UI notification
    },
  }}
/>

Desde la perspectiva del abonado, los siguientes eventos indican que se ha producido un fallo de audio. Aunque estos eventos están vinculados al abonado, pueden ocurrir tanto debido al fallback de audio del abonado como a consecuencia del fallback de audio del editor. En otras palabras la diferencia entre el fallback de audio del editor y del suscriptor es que, en el caso del editor, el cliente de publicación puede activar el fallback de audio basado en su propio flujo. audio fallback basándose en la degradación de su propio flujo, razón por la cual se envían eventos adicionales del lado del editor. Para la recuperación de audio del suscriptor del suscriptor, el enrutador de medios de video de Vonage evalúa la degradación de la red que afecta al suscriptor. En ambos casos, en caso de audio del editor o del suscriptor, siempre se envían eventos del suscriptor para indicar que se ha producido una caída de audio para el receptor.

El componente OTSubscriber incluye métodos de devolución de llamada que se invocan en función de eventos relacionados con la activación o desactivación del vídeo para la secuencia del suscriptor:

videoEnabled() - Llamada cuando el vídeo ha sido activado después de haber sido desactivado previamente. videoDisabled() - Llamado cuando el vídeo ha sido desactivado. La propiedad reason del objeto de evento indica por qué se ha desactivado el vídeo. (Este objeto de evento es un Evento VideoEnabledChangedEvent objeto). videoDisableWarning() - Se llama cuando se determina que la calidad del flujo se ha degradado y el vídeo se desactivará si la calidad se degrada más. Si la calidad se degrada aún más, el suscriptor desactiva el vídeo y llama a la llamada de retorno videoDisabled(). Este evento también puede enviarse cuando se utiliza la función de audio fallback del editor si la calidad del flujo del editor se degrada. videoDisableWarningLifted() - Llamada cuando se ha habilitado el vídeo después de haberlo deshabilitado previamente. El OTSubscriber videoDisableWarning() y videoDisableWarningLifted() sólo se invocan en sesiones que utilizan el enrutador de medios (sesiones con el modo de medios establecido en enrutado).

Por ejemplo, el siguiente código añade escuchadores de eventos para los eventos relacionados con la caída de audio (para que pueda proporcionar notificaciones a la interfaz de usuario):

<OTSubscriber
  eventHandlers={{
    videoDisableWarning: () => {
      // Add UI notification
    },
    videoDisableWarningLifted: () => {
      // Adjust UI notification
    },
    videoDisabled: () => {
      // Add UI notification
    },
    videoEnabled: () => {
      // Remove UI notification
    },
  }}
/>