Solución alternativa de audio — React Native

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

Para obtener información conceptual, consulte el visión general del fallback de audio.

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

Este tema incluye las siguientes secciones:

Activación y desactivación de la opción de «solo audio» como alternativa

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). La función de recambio de audio del abonado no es compatible en sesiones retransmitidas. Cuando la función de recambio de audio del abonado está activada, si el Vonage Video Media Router detecta que la calidad de una transmisión se ha degradado significativamente para un abonado concreto, desactiva el vídeo de dicho abonado con el fin de preservar la calidad del audio. El valor por defecto es true (la opción de audio alternativo para los suscriptores está activada). Esta configuración sustituye a la audioFallbackEnabled propiedad, que quedará obsoleta.

Eventos de alternativa de audio

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() — Llamado con el reason La propiedad se establece en «quality» cuando el editor determina que la calidad de la transmisión ha mejorado y se ha reactivado 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 suscriptor, los siguientes eventos indican que se ha producido un cambio a audio alternativo. Aunque estos eventos están vinculados al suscriptor, pueden producirse tanto debido a un cambio a audio alternativo por parte del suscriptor como a raíz de un cambio a audio alternativo por parte del editor. En otras palabras, la diferencia entre la conmutación de audio del editor y la del suscriptor radica en que, en el caso del editor, el cliente editor puede activar la conmutación de audio en función de la degradación de su propia transmisión, razón por la cual se envían eventos adicionales por parte del editor. En el caso de la conmutación de audio del suscriptor, el Vonage Video Media Router evalúa la degradación de la red que afecta al suscriptor. En ambos casos, tras la conmutación de audio del editor o del suscriptor, siempre se envían eventos del suscriptor para indicar que se ha producido una conmutación 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() — Se ejecuta cuando se ha activado el vídeo después de haberlo desactivado previamente.
  • videoDisabled() — Se invoca cuando se ha desactivado el vídeo. El 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 invoca cuando se detecta que la calidad de la transmisión se ha deteriorado y el vídeo se desactivará si la calidad sigue empeorando. Si la calidad sigue empeorando, el suscriptor desactiva el vídeo y llama a la función videoDisabled() Llamada de retorno. Este evento también puede activarse al utilizar la función de alternativa de audio del editor si la calidad de la transmisión del editor se ve reducida.
  • videoDisableWarningLifted() — Se ejecuta cuando se ha activado el vídeo después de haberlo desactivado previamente.

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
	},
  }}
/>