Utiliza la API de audio de reserva para priorizar dinámicamente el audio en función de la calidad de la red.

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

Enabling and disabling audio-only fallback

Fije el audioFallback propiedad del properties el parámetro que pasas 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,
    },
  }}
/>

El 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 (La opción de audio alternativo del editor está desactivada).
  • subscriber - Si se activa (true) o desactivar (false) alternativa de audio para el suscriptor. Esta configuración solo se aplica en sesiones enrutadas (sesiones que utilizan el 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 (la opción de audio alternativo para los suscriptores está activada). Esta configuración sustituye a la audioFallbackEnabled propiedad, 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 de que el vídeo que se va a desactivar ya no supone un riesgo inmediato.
  • videoDisabled() — Se invoca cuando el editor determina que la calidad de la transmisión se ha deteriorado y se ha desactivado el transporte de vídeo saliente. Nota: aunque 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 detectores de eventos relacionados con el sistema alternativo de audio (para que puedas mostrar notificaciones en 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 detectores de eventos relacionados con el sistema alternativo de audio (para que puedas mostrar notificaciones en la interfaz de usuario):

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