Solution de secours audio — Windows
Utilisez l'API de repli audio d'OpenTok pour hiérarchiser dynamiquement l'audio en fonction de la qualité du réseau.
Pour des informations conceptuelles, voir le aperçu du repli audio.
Cette rubrique comprend les sections suivantes :
Activation et désactivation du mode de secours « audio uniquement »
Pour activer le repli audio de l'éditeur, définissez le paramètre Publisher.Builder.PublisherAudioFallback lors de la création d'un objet Publisher.
Pour activer et désactiver le repli audio de l'abonné (pour tous les abonnés au flux), appelez la fonction Publisher.Builder.SubscriberAudioFallback propriété lors de la création d'un objet Publisher. La solution de secours audio pour les abonnés n'est prise en charge que dans les sessions acheminées (sessions qui utilisent le Routeur multimédia OpenTok). Le repli audio de l'abonné est activé par défaut (dans les sessions acheminées) pour les flux dont la source est une caméra vidéo.
// 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();
Événements de repli audio
Lorsque le repli audio de l'éditeur est activé, le Publisher distribue les événements liés au repli audio :
Publisher.VideoDisableWarning— Envoyé lorsque l'éditeur constate que la qualité du flux s'est dégradée ; la vidéo sera désactivée si la qualité continue de se dégrader.Publisher.VideoDisableWarningLifted— Envoyé lorsque l'éditeur estime que la qualité du flux s'est suffisamment améliorée pour que la vidéo en cours de désactivation ne présente plus de risque immédiat.Publisher.VideoDisabled- Envoyé 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.Publisher.VideoEnabled- Envoyé avec le motif "qualité" 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 gère les événements connexes (afin que vous puissiez fournir vos propres notifications à l'interface utilisateur) :
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
}
Du point de vue de l'abonné, les événements suivants indiquent qu'un basculement audio s'est produit. Bien que ces événements soient liés à l'abonné, ils peuvent survenir aussi bien en raison d'un basculement audio côté abonné qu'à la suite d'un basculement audio côté éditeur. En d’autres termes, la différence entre le basculement audio côté éditeur et celui côté abonné réside dans le fait que, dans le cas de l’éditeur, le client éditeur peut déclencher le basculement audio en raison de la dégradation de son propre flux, ce qui explique pourquoi des événements supplémentaires côté éditeur sont envoyés. Dans le cas du basculement audio côté abonné, le Vonage Video Media Router évalue la dégradation du réseau affectant l’abonné. Dans les deux cas, lors d’un basculement audio côté éditeur ou côté abonné, des événements côté abonné sont toujours envoyés pour indiquer qu’un basculement audio s’est produit pour le destinataire.
Lorsque le repli audio se produit, le Subscriber distribue les événements liés au repli audio :
Subscriber.VideoDisableWarning— Envoyé lorsqu'il est constaté que la qualité du flux s'est dégradée ; la vidéo sera désactivée si la qualité continue de se dégrader.Subscriber.VideoDisableWarningLifted— Envoyé lorsqu'il est établi que la qualité du flux s'est suffisamment améliorée pour que la vidéo désactivée ne présente plus de risque immédiat.Subscriber.VideoDisabled- Envoyé lorsqu'il est déterminé 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'abonné continue d'afficher la vidéo de l'abonné (telle que l'image de la caméra) dans l'interface utilisateur du client de publication.Subscriber.VideoEnabled- Envoyé avec le motif "qualité" lorsqu'il est déterminé 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 gère les événements connexes (afin que vous puissiez fournir vos propres notifications à l'interface utilisateur) :
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
}