Verwenden Sie die Audio-Fallback-API, um Audio dynamisch in Abhängigkeit von der Netzwerkqualität zu priorisieren.

Anmerkung: Die audioFallbackEnabled Stütze des OTPublisher Komponente wird veraltet sein. Bitte verwenden Sie die audioFallback.subscriber Einstellung.

Enabling and disabling audio-only fallback

Setzen Sie die audioFallback Eigenschaft der properties Stütze, die Sie in die OTPublisher Komponente:

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

Die audioFallback Objekt enthält zwei boolesche Eigenschaften:

  • publisher - Ob Sie aktivieren (true) oder deaktivieren (false) Publisher-Audio-Fallback. Wenn der Audio-Fallback des Herausgebers aktiviert ist, schaltet der Herausgeber das Video aus, um die Audioqualität zu erhalten, wenn sich die Qualität des Streams erheblich verschlechtert hat (z. B. aufgrund von Netzwerkbedingungen). Die Standardeinstellung ist false (Audio-Fallback des Herausgebers ist deaktiviert).
  • subscriber - Ob Sie aktivieren (true) oder deaktivieren (false) Teilnehmer-Audio-Fallback. Diese Einstellung gilt nur für geroutete Sitzungen (Sitzungen, die den Vonage Video-Media-Router). Subscriber Audio Fallback wird in Relayed Sessions nicht unterstützt. Wenn der Vonage Video Media Router bei aktiviertem Subscriber Audio Fallback feststellt, dass sich die Qualität eines Streams für einen bestimmten Teilnehmer erheblich verschlechtert hat, wird das Video in diesem Teilnehmer deaktiviert, um die Audioqualität zu erhalten. Die Standardeinstellung isttrue (Teilnehmer-Audio-Fallback ist aktiviert). Diese Einstellung ersetzt die audioFallbackEnabled Eigenschaft, die veraltet sein wird.

Audio fallback events

Wenn der Audio-Fallback des Publishers aktiviert ist, werden die Callback-Methoden der OTPublisher-Komponente als Reaktion auf sich ändernde Qualitätsbedingungen aufgerufen:

  • videoDisableWarning() - Wird aufgerufen, wenn der Herausgeber feststellt, dass sich die Qualität des Streams verschlechtert hat und das Video deaktiviert wird, wenn sich die Qualität weiter verschlechtert.
  • videoDisableWarningLifted() - Wird aufgerufen, wenn der Herausgeber feststellt, dass sich die Qualität des Streams so weit verbessert hat, dass die Deaktivierung des Videos keine unmittelbare Gefahr mehr darstellt.
  • videoDisabled() - Wird aufgerufen, wenn der Verlag feststellt, dass sich die Qualität des Streams verschlechtert hat und der ausgehende Videotransport deaktiviert wurde. Hinweis: Auch wenn das Video deaktiviert ist, zeigt der Publisher das Publisher-Video (z. B. das Kamerabild) in der Benutzeroberfläche des Publishing-Clients an.
  • videoEnabled() - Wird mit der Reason-Eigenschaft "Quality" aufgerufen, wenn der Publisher feststellt, dass sich die Qualität des Streams verbessert hat und der ausgehende Videotransport wieder aktiviert wurde.

Der folgende Code fügt z. B. Ereignis-Listener für Audio-Fallback-Ereignisse hinzu (so dass Sie die Benutzeroberfläche benachrichtigen können):

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

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

Aus Sicht des Teilnehmers zeigen die folgenden Ereignisse an, dass ein Audio-Fallback stattgefunden hat. Diese Ereignisse sind zwar an den Obwohl diese Ereignisse an den Teilnehmer gebunden sind, können sie sowohl aufgrund des Audio-Fallbacks des Teilnehmers als auch als Folge des Audio-Fallbacks des Herausgebers auftreten. Mit anderen Worten, der Unterschied zwischen Publisher- und Subscriber-Audio-Fallback besteht darin, dass im Falle des Publishers der Publishing-Client den Audio-Fallback aufgrund seiner eigenen Stream-Verschlechterung auslösen kann, weshalb zusätzliche verlagsseitige Ereignisse ausgelöst werden. Für Subscriber Audio Fallback bewertet der Vonage Video Media Router die Netzwerkverschlechterung, die den Teilnehmer betrifft. In beiden Fällen werden bei Publisher- oder Teilnehmer-Audio-Fallback werden in beiden Fällen immer Teilnehmer-Ereignisse versendet, um anzuzeigen, dass ein Audio-Fallback für den Empfänger stattgefunden hat.

Die OTSubscriber-Komponente umfasst Callback-Methoden, die auf der Grundlage von Ereignissen im Zusammenhang mit der Aktivierung oder Deaktivierung des Videos für den Stream des Abonnenten aufgerufen werden:

videoEnabled() - Wird aufgerufen, wenn das Video aktiviert wurde, nachdem es zuvor deaktiviert war. videoDisabled() - Wird aufgerufen, wenn das Video deaktiviert wurde. Die Eigenschaft Grund des Ereignisobjekts gibt an, warum das Video deaktiviert wurde. (Dieses Ereignisobjekt ist ein VideoEnabledChangedEvent Objekt). videoDisableWarning() - Wird aufgerufen, wenn festgestellt wird, dass sich die Qualität des Streams verschlechtert hat und das Video deaktiviert wird, wenn sich die Qualität weiter verschlechtert. Wenn sich die Qualität weiter verschlechtert, deaktiviert der Abonnent das Video und ruft den videoDisabled()-Callback auf. Dieses Ereignis kann auch bei Verwendung der Audio-Fallback-Funktion des Herausgebers ausgelöst werden, wenn sich die Qualität des Streams des Herausgebers verschlechtert hat. videoDisableWarningLifted() - Wird aufgerufen, wenn das Video aktiviert wurde, nachdem es zuvor deaktiviert war. Der OTSubscriber videoDisableWarning() und videoDisableWarningLifted() Callback-Methoden werden nur in Sitzungen aufgerufen, die den Media Router verwenden (Sitzungen, deren Medienmodus auf geroutet eingestellt ist).

Der folgende Code fügt z. B. Ereignis-Listener für Audio-Fallback-Ereignisse hinzu (so dass Sie die Benutzeroberfläche benachrichtigen können):

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