Audio-Fallback – Windows
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.
Dieses Thema umfasst die folgenden Abschnitte:
Aktivieren und Deaktivieren des Fallbacks für reine Audioübertragung
Um Publisher Audio Fallback zu aktivieren, setzen Sie die Publisher.Builder.PublisherAudioFallback Eigenschaft beim Erstellen eines Publisher-Objekts.
Zum Aktivieren und Deaktivieren des Teilnehmer-Audio-Fallbacks (für alle Teilnehmer des Streams) rufen Sie die Funktion Publisher.Builder.SubscriberAudioFallback Eigenschaft beim Erstellen eines Publisher-Objekts. Das Audio-Fallback für Subscriber wird nur in gerouteten Sitzungen unterstützt (Sitzungen, die die OpenTok Media Router). Teilnehmer-Audio-Fallback ist standardmäßig (in gerouteten Sitzungen) für Streams mit einer Kamera-Videoquelle aktiviert.
// Enable publisher audio fallback
Publisher = new Publisher.Builder(context)
{
PublisherAudioFallback = true
}.Build();
// Enable publisher audio fallback and disable subscriber audio fallback
Publisher = new Publisher.Builder(context)
{
PublisherAudioFallback = true,
SubscriberAudioFallback = false
}.Build();
// Enable subscriber audio fallback and disable publisher audio fallback
Publisher = new Publisher.Builder(context)
{
PublisherAudioFallback = false,
SubscriberAudioFallback = true
}.Build();
Audio-Fallback-Ereignisse
Wenn das Publisher Audio Fallback aktiviert ist, wird die Publisher Objekt löst Ereignisse aus, die sich auf Audio-Fallback beziehen:
Publisher.VideoDisableWarning— Wird gesendet, wenn der Anbieter feststellt, dass sich die Stream-Qualität verschlechtert hat, und das Video deaktiviert wird, sollte sich die Qualität weiter verschlechtern.Publisher.VideoDisableWarningLifted— Wird gesendet, wenn der Anbieter feststellt, dass sich die Stream-Qualität so weit verbessert hat, dass das zu deaktivierende Video kein unmittelbares Risiko mehr darstellt.Publisher.VideoDisabled- Wird gesendet, wenn der Herausgeber 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.Publisher.VideoEnabled- Wird mit dem Grund "Qualität" gesendet, wenn der Herausgeber feststellt, dass sich die Qualität des Streams verbessert hat und der ausgehende Videotransport wieder aktiviert wurde.
Der folgende Code behandelt zum Beispiel die entsprechenden Ereignisse (so dass Sie Ihre eigenen Benachrichtigungen für die Benutzeroberfläche bereitstellen können):
publisher.VideoDisableWarning += (object sender) =>
{
// Custom action — for example, add custom UI notification
}
publisher.VideoDisableWarningLifted += (object sender) =>
{
// Custom action — for example, remove custom UI notification
}
publisher.VideoDisabled += (object sender, VideoEventArgs e) =>
{
// Custom action — for example, add custom UI notification
}
publisher.VideoEnabled += (object sender, VideoEventArgs e) =>
{
// Custom action — for example, remove custom 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.
Wenn Audio-Fallback auftritt, wird dieSubscriber Objekt löst Ereignisse aus, die sich auf Audio-Fallback beziehen:
Subscriber.VideoDisableWarning— Wird gesendet, sobald festgestellt wird, dass sich die Stream-Qualität verschlechtert hat; das Video wird deaktiviert, sollte sich die Qualität weiter verschlechtern.Subscriber.VideoDisableWarningLifted— Wird gesendet, sobald festgestellt wird, dass sich die Stream-Qualität so weit verbessert hat, dass das deaktivierte Video kein unmittelbares Risiko mehr darstellt.Subscriber.VideoDisabled- Wird gesendet, wenn festgestellt wird, dass sich die Qualität des Streams verschlechtert hat und der ausgehende Videotransport deaktiviert wurde. Hinweis: Auch wenn das Video deaktiviert ist, zeigt der Abonnent das Abonnentenvideo (z. B. das Kamerabild) in der Benutzeroberfläche des Veröffentlichungsclients an.Subscriber.VideoEnabled- Wird mit dem Grund "Qualität" gesendet, wenn festgestellt wird, dass sich die Qualität des Streams verbessert hat und der ausgehende Videotransport wieder aktiviert wurde.
Der folgende Code behandelt zum Beispiel die entsprechenden Ereignisse (so dass Sie Ihre eigenen Benachrichtigungen für die Benutzeroberfläche bereitstellen können):
subscriber.VideoDisableWarning += (object sender) =>
{
// Custom action — for example, add custom UI notification
}
subscriber.VideoDisableWarningLifted += (object sender) =>
{
// Custom action — for example, remove custom UI notification
}
subscriber.VideoDisabled += (object sender, VideoEventArgs e) =>
{
// Custom action — for example, add custom UI notification
}
subscriber.VideoEnabled += (object sender, VideoEventArgs e) =>
{
// Custom action — for example, remove custom UI notification
}