| Heredado de | NSObject |
| Declarado en | OTSubscriberKit.h |
Visión general
Un objeto OTSubscriberKit (suscriptor) muestra los datos multimedia vinculados a un OTStream. La clase OTSubscriberKit te permite configurar un renderizador de vídeo personalizado para la transmisión de vídeo. Utiliza esta clase si te interesa proporcionar tu propia implementación de procesamiento y renderización de vídeo. De lo contrario, utiliza la OTSuscriptor clase, que incluye un procesador de vídeo y un renderizador integrados.
La propiedad «stream» hace referencia a la transmisión a la que te has suscrito. La clase OTSubscriberKit incluye métodos que te permiten desactivar y activar la reproducción local de audio y vídeo de la transmisión a la que estás suscrito.
Obtener información básica sobre un suscriptor
session
El OTSession objeto al que pertenece este suscriptor. Una instancia tendrá uno y solo uno OTSession asociada a ella, y esta propiedad es inmutable.
@property (readonly) OTSession *session
Declarado en
OTSubscriberKit.h
stream
La transmisión a la que está vinculado este suscriptor. Cualquier canal multimedia de la transmisión debería poder visualizarse o reproducirse con esta instancia.
@property (readonly) OTStream *stream
Declarado en
OTSubscriberKit.h
delegate
El OTSubscriberKitDelegate objeto que actúa como delegado, encargándose de gestionar los eventos básicos de este objeto OTSubscriber.
@property (nonatomic, weak) id<OTSubscriberKitDelegate> _Nullable delegate
Debate
Ver también [OTSubscriberKit audioLevelDelegate], [OTSubscriberKit networkStatsDelegate], y [OTSubscriberKit rtcStatsReportDelegate].
Declarado en
OTSubscriberKit.h
Trabajar con audio y vídeo
audioLevelDelegate
Recibe periódicamente informes sobre los niveles de audio de este abonado.
@property (nonatomic, weak) id<OTSubscriberKitAudioLevelDelegate> _Nullable audioLevelDelegate
Debate
Se trata de un objeto delegado distinto del establecido como el [Delegado de OTSubscriberKit] propiedad (el objeto OTSubscriberKitDelegate).
Si no se configura esta propiedad, el subsistema de muestreo de audio queda desactivado.
Declarado en
OTSubscriberKit.h
captionsDelegate
El delegado encargado de recibir los subtítulos de la transmisión de este suscriptor.
@property (nonatomic, weak) id<OTSubscriberKitCaptionsDelegate> _Nullable captionsDelegate
Declarado en
OTSubscriberKit.h
subscribeToAudio
Si se desea suscribirse al audio de la retransmisión.
@property (nonatomic) BOOL subscribeToAudio
Debate
El valor por defecto es SÍ.
Establecer esta propiedad no tiene ningún efecto si el [OTStream tiene audio] La propiedad está establecida en NO.
Declarado en
OTSubscriberKit.h
subscribeToVideo
Si se desea suscribirse al canal de vídeos.
@property (nonatomic) BOOL subscribeToVideo
Debate
El valor por defecto es SÍ.
Establecer esta propiedad no tiene ningún efecto si el [OTStream tiene vídeo] La propiedad está establecida en NO.
Declarado en
OTSubscriberKit.h
subscribeToCaptions
Si se desea activar los subtítulos.
@property (nonatomic) BOOL subscribeToCaptions
Debate
El valor por defecto es el valor de los subtítulos del editor de la transmisión. [OTStream tiene subtítulos]
Declarado en
OTSubscriberKit.h
captionsTranslationLanguage
El idioma de traducción de los subtítulos preferido por este suscriptor.
@property (nonatomic, copy, nullable) NSString *captionsTranslationLanguage
Debate
Esta configuración solo surte efecto cuando los subtítulos están activados.
Establece este valor en un código de idioma BCP-47 compatible para recibir subtítulos traducidos,
o configúralo en nil para desactivar la traducción. El valor por defecto es nil
(no hay traducción configurada).
Los códigos de idioma compatibles se definen en la especificación de la API del servidor.
Si el código de idioma no es compatible, el valor no se aplicará. Vuelve a leer esta propiedad tras configurarla para comprobar que el idioma se ha aceptado correctamente.
Esta es una función en fase beta privada.
Declarado en
OTSubscriberKit.h
videoRender
El motor de renderizado de vídeo de esta instancia.
@property (nonatomic, strong) id<OTVideoRender> _Nullable videoRender
Declarado en
OTSubscriberKit.h
preferredResolution
La resolución preferida para la transmisión del suscriptor.
@property (nonatomic) CGSize preferredResolution
Debate
Limitar la resolución y la frecuencia de fotogramas del vídeo (véase [OTSubscriberKit preferredFrameRate]) reduce el uso de la red y de la CPU en el cliente suscriptor. Es posible que te interese utilizar una resolución más baja en función de las dimensiones del vídeo del suscriptor en la aplicación. También es posible que te interese utilizar una frecuencia de fotogramas o una resolución más baja para los suscriptores de una transmisión que sea menos importante (y más pequeña) que otras transmisiones.
Este método solo se aplica al suscribirse a una transmisión que utilice el función de vídeo escalable. Hay vídeo escalable disponible:
- Solo en las sesiones que utilizan el OpenTok Media Router (sesiones con el modo multimedia (configurado en «enrutado»)
- Solo para flujos publicados por clientes que admitan vídeo escalable (véase la documentación de función de vídeo escalable).
En las transmisiones que no utilizan vídeo escalable, llamar a este método no tiene ningún efecto.
Nota: La resolución de las transmisiones de vídeo escalables se ajusta automáticamente para cada suscriptor, en función de las condiciones de la red y del uso de la CPU, incluso si no se invoca este método. Invoca este método si deseas limitar la resolución para este suscriptor.
No todas las resoluciones están disponibles para un suscriptor. Cuando estableces la resolución preferida, el SDK de OpenTok para iOS selecciona la mejor resolución disponible que se ajuste a tus limitaciones. Las resoluciones disponibles dependen de la resolución máxima que el editor establezca para la transmisión, que se fija como la [OTStream videoDimensions] propiedad de la transmisión. Cada una de las resoluciones disponibles para una transmisión utilizará la misma relación de aspecto.
Declarado en
OTSubscriberKit.h
preferredFrameRate
La frecuencia de fotogramas preferida para la transmisión del suscriptor.
@property (nonatomic) float preferredFrameRate
Debate
Limitar la frecuencia de fotogramas y la resolución del vídeo (véase [OTSubscriberKit preferredResolution]) reduce el uso de la red y de la CPU en el cliente suscriptor. Es posible que te interese utilizar una resolución más baja en función de las dimensiones del vídeo del suscriptor en la aplicación. También es posible que te interese utilizar una frecuencia de fotogramas o una resolución más baja para los suscriptores de una transmisión que sea menos importante (y más pequeña) que otras transmisiones.
Este método solo se aplica al suscribirse a una transmisión que utilice el función de vídeo escalable. Hay vídeo escalable disponible:
- Solo en las sesiones que utilizan el OpenTok Media Router (sesiones con el modo multimedia (configurado en «enrutado»)
- Solo para flujos publicados por clientes que admitan vídeo escalable (véase la documentación de función de vídeo escalable).
En las transmisiones que no utilizan vídeo escalable, llamar a este método no tiene ningún efecto.
Nota: La frecuencia de fotogramas de las transmisiones de vídeo escalables se ajusta automáticamente para cada suscriptor, en función de las condiciones de la red y del uso de la CPU, incluso si no se invoca este método. Invoca este método si deseas limitar la frecuencia de fotogramas para este suscriptor.
Las velocidades de fotogramas disponibles se basan en el valor de la velocidad de fotogramas máxima
disponible para la transmisión. Cuando se configura la velocidad de fotogramas preferida para el
suscriptor, el SDK de OpenTok para iOS selecciona la mejor velocidad de fotogramas disponible que sea
la más cercana a la preferredFrameRate configuración, en función del ancho de banda
y las limitaciones de CPU del cliente.
Las tasas de fotogramas reales disponibles dependen, de forma dinámica, de los recursos de red y de la CPU de los que disponga el editor.
Declarado en
OTSubscriberKit.h
audioVolume
El volumen de audio del abonado, entre 0 y 100. Al establecer el valor, si no se encuentra dentro de este intervalo, se ajustará a él.
@property (nonatomic) double audioVolume
Debate
El valor por defecto es 100.
Declarado en
OTSubscriberKit.h
Obtener estadísticas de audio y vídeo
networkStatsDelegate
El OTSubscriberKitNetworkStatsDelegate objeto que recibe periódicamente estadísticas sobre la calidad de los suscriptores.
@property (nonatomic, weak) id<OTSubscriberKitNetworkStatsDelegate> _Nullable networkStatsDelegate
Debate
A este objeto delegado se le envían mensajes que informan de lo siguiente:
- Total de paquetes de audio y vídeo perdidos
- Total de paquetes de audio y vídeo recibidos
- Total de bytes de audio y vídeo recibidos
Se trata de un objeto delegado distinto del establecido como el [Delegado de OTSubscriberKit] propiedad (el objeto OTSubscriberKitDelegate).
Véase también [OTSubscriberKit rtcStatsReportDelegate].
Declarado en
OTSubscriberKit.h
rtcStatsReportDelegate
El OTSubscriberKitRtcStatsReportDelegate que muestra las estadísticas de RTC del abonado. El [OTSubscriberKitRtcStatsReportDelegate subscriber:rtcStatsReport:] El mensaje se envía en respuesta a la llamada a la función [OTSubscriberKit getRtcStatsReport] método.
@property (nonatomic, weak) id<OTSubscriberKitRtcStatsReportDelegate> _Nullable rtcStatsReportDelegate
Declarado en
OTSubscriberKit.h
Inicialización de un suscriptor
– initWithStream:delegate:
Inicializa un suscriptor y lo vincula a un OTStream instancia. Una vez inicializada, la instancia queda vinculada de forma permanente al flujo.
- (_Nullable id)initWithStream:(nonnull OTStream *)stream delegate:(nullable id<OTSubscriberKitDelegate>)delegate
Parámetros
stream |
El OTStream objeto al que vincular esta instancia. |
delegate |
El delegado (OTSubscriberKitDelegate) que se encargará de gestionar los eventos generados por esta instancia. |
Debate
El SDK de OpenTok para iOS admite un número limitado de transmisiones simultáneas de audio y vídeo en una aplicación:
- En una sesión retransmitida, el límite es de dos flujos. Una aplicación puede tener hasta dos suscriptores, o bien un emisor y un suscriptor.
- En una sesión enrutada, una aplicación puede admitir un emisor de audio y vídeo, un receptor de audio y vídeo y hasta tres flujos adicionales de solo audio suscritos simultáneamente.
(Para obtener información sobre las sesiones retransmitidas y enrutadas, consulta la documentación sobre el modo multimedia de una sesión.)
Al inicializar un suscriptor, este comienza a transmitir datos desde el servidor de OpenTok, independientemente de si la vista del objeto suscriptor se añade a una supervista.
Puedes reproducir solo el audio (sin suscribirte a la transmisión de vídeo) configurando el [OTSubscriberKit subscribeToVideo] asigna el valor NO a la propiedad inmediatamente después de inicializar el objeto OTSubscriber. Puedes reproducir vídeo únicamente (sin suscribirte a la transmisión de audio) configurando el [OTSubscriberKit subscribeToAudio] asignar el valor «NO» a la propiedad inmediatamente después de inicializar el objeto OTSubscriber.
Cuando el suscriptor se conecta a la transmisión, el [OTSubscriberKitDelegate subscriberDidConnectToStream:] se envía el mensaje.
En el caso de un objeto OTSubscriber, cuando se ha decodificado el primer fotograma del vídeo, el [OTSubscriberDelegate subscriberVideoDataReceived:] se envía el mensaje.
Si el suscriptor no consigue conectarse a la transmisión, el [OTSubscriberKitDelegate subscriber:didFailWithError:] se envía el mensaje.
Declarado en
OTSubscriberKit.h
– getRtcStatsReport:
Obtiene el informe de estadísticas de RTC del suscriptor. Se trata de una operación asíncrona. Establece el [OTSubscriberKit rtcStatsReportDelegate] propiedad y aplicar la [OTSubscriberKitRtcStatsReportDelegate subscriber:rtcStatsReport:] método antes de llamar a este método. Cuando las estadísticas estén disponibles, la implementación del [OTSubscriberKitRtcStatsReportDelegate subscriber:rtcStatsReport:] Se envía el mensaje.
- (void)getRtcStatsReport:(OTError *_Nullable *_Nullable)error
Parámetros
error |
Se establece si se produce un error de forma sincrónica durante el procesamiento de la solicitud. El OTSubscriberErrorCode La enumeración (definida en el archivo OTError.h) define los valores para la code propiedad de este objeto. Este objeto es NULL si no se produce ningún error. Véase también [OTSubscriberKit networkStatsDelegate] y [OTPublisherKit getRtcStatsReport]. |
Declarado en
OTSubscriberKit.h