Audio-Fallback — React Native

Verwenden Sie die OpenTok-Audio-Fallback-API, um die Audioübertragung je nach Netzwerkqualität dynamisch zu priorisieren.

Für konzeptionelle Informationen, siehe die Audio-Fallback-Übersicht.

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

Dieses Thema umfasst die folgenden Abschnitte:

Aktivieren und Deaktivieren des Fallbacks für reine Audioübertragung

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). Der Audio-Fallback für Teilnehmer wird in weitergeleiteten Sitzungen nicht unterstützt. Ist der Audio-Fallback für Teilnehmer aktiviert und stellt der Vonage Video Media Router fest, dass sich die Qualität eines Streams für einen bestimmten Teilnehmer erheblich verschlechtert hat, deaktiviert er das Video bei diesem Teilnehmer, um die Audioqualität zu gewährleisten. Die Standardeinstellung ist true (Audio-Fallback für Abonnenten ist aktiviert). Diese Einstellung ersetzt die audioFallbackEnabled Eigenschaft, die veraltet sein wird.

Audio-Fallback-Ereignisse

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() — Aufgerufen mit dem reason Die Eigenschaft wird auf „quality“ gesetzt, wenn der Publisher feststellt, dass sich die Stream-Qualität verbessert hat und die ausgehende Videoübertragung 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 Abonnenten deuten die folgenden Ereignisse darauf hin, dass ein Audio-Fallback stattgefunden hat. Obwohl diese Ereignisse an den Abonnenten gebunden sind, können sie sowohl aufgrund eines Audio-Fallbacks auf Abonnentenseite als auch als Folge eines Audio-Fallbacks auf Publisher-Seite auftreten. Mit anderen Worten: Der Unterschied zwischen Audio-Fallback auf Publisher- und Teilnehmerseite besteht darin, dass im Falle des Publishers der Publishing-Client den Audio-Fallback aufgrund einer Verschlechterung seines eigenen Streams auslösen kann, weshalb zusätzliche Ereignisse auf Publisher-Seite gesendet werden. Beim Audio-Fallback auf Abnehmer-Seite bewertet der Vonage Video Media Router die Netzwerkverschlechterung, von der der Abnehmer betroffen ist. In beiden Fällen werden bei einem Audio-Fallback auf Publisher- oder Abnehmer-Seite stets Abnehmer-Ereignisse gesendet, um anzuzeigen, dass für den Empfänger ein Audio-Fallback 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 reason Eigenschaft des Ereignisobjekts zeigt an, warum das Video deaktiviert wurde. (Dieses Ereignisobjekt ist ein VideoEnabledChangedEvent Objekt).
  • videoDisableWarning() — Wird aufgerufen, wenn festgestellt wird, dass sich die Stream-Qualität verschlechtert hat, und das Video deaktiviert wird, sollte sich die Qualität weiter verschlechtern. Verschlechtert sich die Qualität weiter, deaktiviert der Abonnent das Video und ruft die videoDisabled() Callback. Dieses Ereignis kann auch ausgelöst werden, wenn die Audio-Fallback-Funktion des Publishers verwendet wird und die Stream-Qualität des Publishers beeinträchtigt ist.
  • videoDisableWarningLifted() — Wird aufgerufen, wenn die Videofunktion aktiviert wurde, nachdem sie zuvor deaktiviert war.

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