| Hérite de | NSObject |
| Déclaré dans | OTSubscriberKit.h |
Vue d'ensemble
Un objet OTSubscriberKit (abonné) affiche les données multimédias associées à un OTStream. La classe OTSubscriberKit vous permet de définir un moteur de rendu vidéo personnalisé pour le flux vidéo. Utilisez cette classe si vous souhaitez fournir votre propre implémentation de traitement et de rendu vidéo. Sinon, utilisez la Abonné OTS classe, qui intègre un processeur vidéo et un rendu prêts à l'emploi.
La propriété « stream » fait référence au flux auquel vous êtes abonné. La classe OTSubscriberKit comprend des méthodes qui vous permettent de désactiver et d'activer la lecture locale de l'audio et de la vidéo pour le flux auquel vous êtes abonné.
Obtenir des informations de base sur un abonné
session
Les OTSession objet propriétaire de cet abonné. Une instance aura un et un seul OTSession qui lui est associée, et cette propriété est immuable.
@property (readonly) OTSession *session
Déclaré à
OTSubscriberKit.h
stream
Le flux auquel cet abonné est associé. Tous les canaux multimédias présents sur ce flux doivent pouvoir être affichés ou lus avec cette instance.
@property (readonly) OTStream *stream
Déclaré à
OTSubscriberKit.h
delegate
Les OTSubscriberKitDelegate objet faisant office de délégué, qui gère les événements de base de cet objet OTSubscriber.
@property (nonatomic, weak) id<OTSubscriberKitDelegate> _Nullable delegate
Discussion
Voir aussi [OTSubscriberKit audioLevelDelegate], [OTSubscriberKit networkStatsDelegate]et [OTSubscriberKit rtcStatsReportDelegate].
Déclaré à
OTSubscriberKit.h
Travailler avec l'audio et la vidéo
audioLevelDelegate
Reçoit régulièrement des rapports sur les niveaux audio de cet abonné.
@property (nonatomic, weak) id<OTSubscriberKitAudioLevelDelegate> _Nullable audioLevelDelegate
Discussion
Il s'agit d'un objet délégué distinct de celui défini comme [Délégué OTSubscriberKit] propriété (l'objet OTSubscriberKitDelegate).
Si vous ne définissez pas cette propriété, le sous-système d'échantillonnage audio est désactivé.
Déclaré à
OTSubscriberKit.h
captionsDelegate
Le délégué chargé de recevoir les sous-titres pour le flux de cet abonné.
@property (nonatomic, weak) id<OTSubscriberKitCaptionsDelegate> _Nullable captionsDelegate
Déclaré à
OTSubscriberKit.h
subscribeToAudio
Faut-il s'abonner au flux audio ?
@property (nonatomic) BOOL subscribeToAudio
Discussion
La valeur par défaut est « YES ».
La définition de cette propriété n'a aucun effet si le [OTStream a du son] La propriété est définie sur « NON ».
Déclaré à
OTSubscriberKit.h
subscribeToVideo
Faut-il s'abonner à la chaîne de cette vidéo ?
@property (nonatomic) BOOL subscribeToVideo
Discussion
La valeur par défaut est « YES ».
La définition de cette propriété n'a aucun effet si le [OTStream hasVideo] La propriété est définie sur « NON ».
Déclaré à
OTSubscriberKit.h
subscribeToCaptions
Activer ou non les sous-titres.
@property (nonatomic) BOOL subscribeToCaptions
Discussion
La valeur par défaut correspond à la valeur « captions » de l'éditeur du flux. [OTStream hasCaptions]
Déclaré à
OTSubscriberKit.h
captionsTranslationLanguage
Langue de traduction des sous-titres préférée par cet abonné.
@property (nonatomic, copy, nullable) NSString *captionsTranslationLanguage
Discussion
Ce paramètre ne s'applique que lorsque les sous-titres sont activés.
Sélectionnez un code de langue BCP-47 pris en charge pour recevoir des sous-titres traduits,
ou sélectionnez nil pour désactiver la traduction. La valeur par défaut est nil
(aucune traduction configurée).
Les codes de langues pris en charge sont définis dans la spécification de l'API du serveur.
Si le code de langue n'est pas pris en charge, la valeur ne sera pas appliquée. Relisez cette propriété après l'avoir définie afin de vérifier que la langue a été correctement acceptée.
Il s'agit d'une fonctionnalité en version bêta privée.
Déclaré à
OTSubscriberKit.h
videoRender
Le moteur de rendu vidéo pour cette instance.
@property (nonatomic, strong) id<OTVideoRender> _Nullable videoRender
Déclaré à
OTSubscriberKit.h
preferredResolution
La résolution souhaitée pour le flux de l'abonné.
@property (nonatomic) CGSize preferredResolution
Discussion
Limiter la résolution vidéo et la fréquence d'images (voir [OTSubscriberKit preferredFrameRate]) réduit la charge réseau et l'utilisation du processeur sur le client abonné. Vous pouvez choisir d'utiliser une résolution inférieure en fonction des dimensions de la vidéo de l'abonné dans l'application. Vous pouvez également opter pour une fréquence d'images ou une résolution inférieure pour les abonnés à un flux moins important (et de plus petite taille) que les autres flux.
Cette méthode ne s'applique que lors de l'abonnement à un flux utilisant le fonctionnalité vidéo adaptative. La vidéo adaptative est disponible :
- Uniquement dans les sessions qui utilisent OpenTok Media Router (sessions avec le mode média (réglé sur « routé »)
- Uniquement pour les flux publiés par des clients prenant en charge la vidéo évolutive (voir la documentation relative à la fonctionnalité vidéo adaptative).
Dans les flux qui n'utilisent pas la vidéo adaptative, l'appel de cette méthode n'a aucun effet.
Remarque : La résolution des flux vidéo adaptatifs s'ajuste automatiquement pour chaque abonné, en fonction des conditions du réseau et de l'utilisation du processeur, même si vous n'appelez pas cette méthode. Appelez cette méthode si vous souhaitez limiter la résolution pour cet abonné.
Toutes les résolutions ne sont pas disponibles pour un abonné. Lorsque vous définissez la résolution souhaitée, le SDK OpenTok pour iOS sélectionne la meilleure résolution disponible qui répond à vos contraintes. Les résolutions disponibles dépendent de la résolution maximale définie par l’éditeur pour le flux, qui est fixée à [OTStream videoDimensions] propriété du flux. Chacune des résolutions disponibles pour un flux utilisera le même format d'image.
Déclaré à
OTSubscriberKit.h
preferredFrameRate
La fréquence d'images souhaitée pour le flux de l'abonné.
@property (nonatomic) float preferredFrameRate
Discussion
Limiter la fréquence d'images et la résolution vidéo (voir [OTSubscriberKit preferredResolution]) réduit la charge réseau et l'utilisation du processeur sur le client abonné. Vous pouvez choisir d'utiliser une résolution inférieure en fonction des dimensions de la vidéo de l'abonné dans l'application. Vous pouvez également opter pour une fréquence d'images ou une résolution inférieure pour les abonnés à un flux moins important (et de plus petite taille) que les autres flux.
Cette méthode ne s'applique que lors de l'abonnement à un flux utilisant le fonctionnalité vidéo adaptative. La vidéo adaptative est disponible :
- Uniquement dans les sessions qui utilisent OpenTok Media Router (sessions avec le mode média (réglé sur « routé »)
- Uniquement pour les flux publiés par des clients prenant en charge la vidéo évolutive (voir la documentation relative à la fonctionnalité vidéo adaptative).
Dans les flux qui n'utilisent pas la vidéo adaptative, l'appel de cette méthode n'a aucun effet.
Remarque : La fréquence d'images des flux vidéo adaptatifs s'ajuste automatiquement pour chaque abonné, en fonction des conditions du réseau et de l'utilisation du processeur, même si vous n'appelez pas cette méthode. Appelez cette méthode si vous souhaitez limiter la fréquence d'images pour cet abonné.
Les fréquences d'images disponibles dépendent de la fréquence d'images maximale
disponible pour le flux. Lorsque vous définissez la fréquence d'images souhaitée pour l'
abonné, le SDK OpenTok pour iOS sélectionne la meilleure fréquence d'images disponible qui soit
la plus proche de la preferredFrameRate paramétrage, en fonction de la bande passante
et des contraintes de CPU du client.
Les fréquences d'images réelles disponibles dépendent, de manière dynamique, des ressources réseau et CPU mises à la disposition de l'éditeur.
Déclaré à
OTSubscriberKit.h
audioVolume
Le volume audio de l'abonné, compris entre 0 et 100. Lors de la définition de la valeur, si celle-ci ne se situe pas dans cette plage, elle sera limitée à celle-ci.
@property (nonatomic) double audioVolume
Discussion
La valeur par défaut est 100.
Déclaré à
OTSubscriberKit.h
Obtenir des statistiques audio et vidéo
networkStatsDelegate
Les OTSubscriberKitNetworkStatsDelegate objet qui reçoit périodiquement des statistiques sur la qualité des abonnés.
@property (nonatomic, weak) id<OTSubscriberKitNetworkStatsDelegate> _Nullable networkStatsDelegate
Discussion
Cet objet délégué reçoit des messages indiquant ce qui suit :
- Nombre total de paquets audio et vidéo perdus
- Nombre total de paquets audio et vidéo reçus
- Nombre total d'octets audio et vidéo reçus
Il s'agit d'un objet délégué distinct de celui défini comme [Délégué OTSubscriberKit] propriété (l'objet OTSubscriberKitDelegate).
Voir aussi [OTSubscriberKit rtcStatsReportDelegate].
Déclaré à
OTSubscriberKit.h
rtcStatsReportDelegate
Les OTSubscriberKitRtcStatsReportDelegate qui fournit les statistiques RTC pour l' abonné. Le [OTSubscriberKitRtcStatsReportDelegate subscriber:rtcStatsReport:] Ce message est envoyé en réponse à l'appel de la fonction [OTSubscriberKit getRtcStatsReport] méthode.
@property (nonatomic, weak) id<OTSubscriberKitRtcStatsReportDelegate> _Nullable rtcStatsReportDelegate
Déclaré à
OTSubscriberKit.h
Initialisation d'un abonné
– initWithStream:delegate:
Initialise un abonné et l'associe à un OTStream instance. Une fois initialisée, l'instance est liée de manière permanente au flux.
- (_Nullable id)initWithStream:(nonnull OTStream *)stream delegate:(nullable id<OTSubscriberKitDelegate>)delegate
Paramètres
stream |
Les OTStream objet auquel lier cette instance. |
delegate |
Le délégué (OTSubscriberKitDelegate) qui gérera les événements générés par cette instance. |
Discussion
Le SDK OpenTok pour iOS prend en charge un nombre limité de flux audio-vidéo simultanés dans une application :
- Dans une session relayée, la limite est fixée à deux flux. Une application peut compter jusqu'à deux abonnés, ou un émetteur et un abonné.
- Dans une session routée, une application peut prendre en charge un émetteur audio-vidéo, un abonné audio-vidéo et jusqu’à trois flux audio supplémentaires simultanément.
(Pour plus d'informations sur les sessions relayées et acheminées, consultez la documentation relative à la mode média d'une session.)
L'initialisation d'un abonné déclenche la diffusion en continu de données depuis le serveur OpenTok, que la vue de l'objet abonné soit ou non ajoutée à une supervue.
Vous pouvez écouter uniquement le flux audio (sans vous abonner au flux vidéo) en configurant le [OTSubscriberKit subscribeToVideo] propriété sur NO immédiatement après l'initialisation de l'objet OTSubscriber. Vous pouvez diffuser uniquement la vidéo (sans vous abonner au flux audio) en définissant la [OTSubscriberKit subscribeToAudio] propriété à NO immédiatement après l'initialisation de l'objet OTSubscriber.
Lorsque l'abonné se connecte au flux, le [OTSubscriberKitDelegate subscriberDidConnectToStream:] est envoyé.
Pour un objet OTSubscriber, lorsque la première image de la vidéo a été décodée, le [OTSubscriberDelegate subscriberVideoDataReceived:] est envoyé.
Si l'abonné ne parvient pas à se connecter au flux, le [OTSubscriberKitDelegate subscriber:didFailWithError:] est envoyé.
Déclaré à
OTSubscriberKit.h
– getRtcStatsReport:
Récupère le rapport statistique RTC de l'abonné. Il s'agit d'une opération asynchrone. Définissez le [OTSubscriberKit rtcStatsReportDelegate] propriété et mettre en œuvre la [OTSubscriberKitRtcStatsReportDelegate subscriber:rtcStatsReport:] méthode avant d'appeler cette méthode. Lorsque les statistiques sont disponibles, l'implémentation de la [OTSubscriberKitRtcStatsReportDelegate subscriber:rtcStatsReport:] Le message est envoyé.
- (void)getRtcStatsReport:(OTError *_Nullable *_Nullable)error
Paramètres
error |
À définir si une erreur survient de manière synchrone lors du traitement de la requête. Le OTSubscriberErrorCode L'énumération (définie dans le fichier OTError.h) définit les valeurs pour le code propriété de cet objet. Cet objet est NULL si aucune erreur ne se produit. Voir également [OTSubscriberKit networkStatsDelegate] et [OTPublisherKit getRtcStatsReport]. |
Déclaré à
OTSubscriberKit.h