Utilisez l'API audio fallback pour donner dynamiquement la priorité à l'audio en fonction de la qualité du réseau.

Remarque : Les audioFallbackEnabled prop de la OTPublisher sera obsolète. Veuillez utiliser le composant audioFallback.subscriber à la place.

Enabling and disabling audio-only fallback

Régler le audioFallback de la propriété properties vous passez dans le OTPublisher de la composante :

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

Les audioFallback comprend deux propriétés booléennes :

  • publisher - Activer ou non (true) ou désactiver (false) le repli audio de l'éditeur. Lorsque le fallback audio de l'éditeur est activé, lorsque la qualité du flux s'est dégradée de manière significative (par exemple, en raison des conditions du réseau), l'éditeur désactive la vidéo afin de préserver la qualité audio. La valeur par défaut est false (le repli audio de l'éditeur est désactivé).
  • subscriber - Activer ou non (true) ou désactiver (false) de l'abonné. Ce paramètre ne s'applique qu'aux sessions acheminées (sessions qui utilisent la fonction Routeur vidéo multimédia de Vonage). Le repli audio de l'abonné n'est pas pris en charge dans les sessions relayées. Si le repli audio de l'abonné est activé, lorsque le routeur vidéo Vonage détermine que la qualité d'un flux s'est considérablement dégradée pour un abonné spécifique, il désactive la vidéo dans cet abonné afin de préserver la qualité audio. La valeur par défaut est true (le repli audio de l'abonné est activé). Ce paramètre remplace le paramètre audioFallbackEnabled qui sera dépréciée.

Audio fallback events

Lorsque le repli audio de l'éditeur est activé, les méthodes de rappel du composant OTPublisher sont invoquées en réponse à l'évolution des conditions de qualité :

  • videoDisableWarning() - Appelé lorsque l'éditeur détermine que la qualité du flux s'est dégradée et que la vidéo sera désactivée si la qualité se dégrade davantage.
  • videoDisableWarningLifted() - Appelé lorsque l'éditeur détermine que la qualité du flux s'est améliorée au point que la vidéo désactivée ne représente plus un risque immédiat.
  • videoDisabled() - Appelé lorsque l'éditeur détermine que la qualité du flux s'est dégradée et que le transport vidéo sortant a été désactivé. Remarque : lorsque la vidéo est désactivée, l'éditeur continue d'afficher la vidéo de l'éditeur (telle que l'image de la caméra) dans l'interface utilisateur du client de publication.
  • videoEnabled() - Appelé avec la propriété reason définie sur 'quality' lorsque l'éditeur détermine que la qualité du flux s'est améliorée et que le transport vidéo sortant a été réactivé.

Par exemple, le code suivant ajoute des récepteurs d'événements pour les événements liés au repli audio (afin que vous puissiez fournir des notifications à l'interface utilisateur) :

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

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

Du point de vue de l'abonné, les événements suivants indiquent que le repli audio s'est produit. Bien que ces événements soient liés à l'abonné ils peuvent se produire à la fois en raison du repli audio de l'abonné et en conséquence du repli audio de l'éditeur. En d'autres termes, la différence entre le repli audio de l'éditeur et celui de l'abonné est la suivante la différence entre le repli audio de l'éditeur et de l'abonné est que, dans le cas de l'éditeur, le client de publication peut déclencher le repli audio sur la base de son propre flux. sur la base de sa propre dégradation du flux, ce qui explique pourquoi des événements supplémentaires sont envoyés du côté de l'éditeur. Pour le repli audio de l'abonné le Video Media Router de Vonage évalue la dégradation du réseau affectant l'abonné. Dans les deux cas, lors d'un repli audio de l'éditeur ou de l'abonné, les événements de l'abonné sont envoyés. les événements de l'abonné sont toujours envoyés pour indiquer que le récepteur a bénéficié d'un repli audio.

Le composant OTSubscriber comprend des méthodes de rappel qui sont invoquées en fonction des événements liés à l'activation ou à la désactivation de la vidéo pour le flux de l'abonné :

videoEnabled() - Appelé lorsque la vidéo a été activée après avoir été désactivée précédemment. videoDisabled() - Appelé lorsque la vidéo a été désactivée. La propriété reason de l'objet event indique la raison pour laquelle la vidéo a été désactivée. (Cet objet événement est un VideoEnabledChangedEvent objet.) videoDisableWarning() - Appelé lorsqu'il est déterminé que la qualité du flux s'est dégradée et que la vidéo sera désactivée si la qualité se dégrade davantage. Si la qualité se dégrade davantage, l'abonné désactive la vidéo et appelle la fonction de rappel videoDisabled(). Cet événement peut également être déclenché lors de l'utilisation de la fonction de repli audio de l'éditeur si la qualité du flux de l'éditeur s'est dégradée. videoDisableWarningLifted() - Appelé lorsque la vidéo a été activée après avoir été précédemment désactivée. L'abonné OTS videoDisableWarning() et videoDisableWarningLifted() ne sont invoquées que dans les sessions qui utilisent le routeur de médias (sessions dont le mode de média est réglé sur routé).

Par exemple, le code suivant ajoute des récepteurs d'événements pour les événements liés au repli audio (afin que vous puissiez fournir des notifications à l'interface utilisateur) :

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