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