Fragmentos de código usando el SDK nativo para iOS

En este tema, encontrará una colección de fragmentos de código que puede resultarle útil como referencia mientras desarrolla con el SDK. Para obtener soluciones más detalladas, consulte las muestras del reproductor de iOS .

Tabla de contenido

Publicidad

Analítica

Subtítulos

Seguridad de contenido (DRM)

Puntos de referencia

Reproducción

Listas de reproducción

Estilismo

Controles personalizados para AirPlay

Si usa el Controles de Brightcove PlayerUI , estas listo. La funcionalidad AirPlay funciona de inmediato, lo que permite a los usuarios transmitir video a pantallas de alta definición con Apple TV.

Si está utilizando controles personalizados, puede seguir estos pasos:

  1. Más información sobre AirPlay en Documentación para desarrolladores de Apple para AirPlay.

  2. Utilice el controlador de reproducción allowsExternalPlayback propiedad para configurar el AVPlayer allowsExternalPlayback propiedad:

  3. Configure un control de enrutador AirPlay y maneje su selección. Para obtener más detalles, consulte Descripción general de AirPlay de Apple documento.

Referencia

Para obtener más detalles, consulte la BCOVPlaybackController documentación.

Personalizar el botón de subtítulos ocultos

La Código de muestra de BCOVPlayerUI muestra cómo personalizar el reproductor Brightcove cuando se usa el SDK nativo para iOS. Para obtener más detalles, consulte la Personalización de los controles de PlayerUI sección del documento de referencia Native SDK.

Para personalizar el botón de subtítulos con PlayerUI, siga estos pasos:

  1. Empiece con el Aplicación básica de reproducción de video.

  2. Reemplace sus valores por la clave de política, la identificación de la cuenta y la identificación del video. Seleccione un video de su cuenta que tenga pistas de texto.

  3. Configure la vista del reproductor con un diseño VOD estándar:

  4. La closedCaptionButton se declara como un BCOVPUIButton , que es una subclase de UIButton y agrega tres métodos adicionales de personalización. Siempre que personalice los controles de BCOVPlayerUI, debe utilizar las API de Native Player siempre que estén disponibles. Su código personalizado debería verse similar a esto:

Visualización de contenido FairPlay en una pantalla externa

Cuando se conecta una pantalla externa a un dispositivo iOS mediante un adaptador AV y un cable HDMI, el comportamiento predeterminado es reflejar la pantalla de iOS. La excepción a esto es cuando usa video protegido con FairPlay, que Apple evita que se refleje (WWDC 2015, Sesión 502).

Para mostrar videos protegidos con FairPlay, configure las propiedades de AVPlayer expuestas a través del controlador de reproducción Brightcove para permitir que el video FairPlay se reproduzca en una pantalla externa. El video se reproduce en modo de pantalla completa. A continuación, se muestra un ejemplo de cómo configurar estas propiedades:

Referencia

Para obtener más detalles, consulte la BCOVPlaybackController documentación.

Google analitico

Si utiliza el reproductor Brightcove y la clase de catálogo, los análisis de video se recopilarán automáticamente y aparecerán en su módulo de análisis de Video Cloud. Para obtener métricas adicionales, puede agregar Google Analytics a su aplicación.

Para integrar Google Analytics con su aplicación, siga estos pasos:

  1. Revise el documento de Google para Agregue Analytics a su aplicación iOS.
  2. Aquí hay una forma en que puede usar Google Analytics para rastrear la reproducción de video usando el SDK de Firebase de Google:

 

Limitando la tasa de bits

No puede controlar qué fuente (interpretación) en el manifiesto de HLS es seleccionada por el AVPlayer , pero puede poner un límite a la tasa de bits en la reproducción. Esto evita que el reproductor utilice fuentes (representaciones) con una tasa de bits superior a la tasa de bits especificada.

Selecciona el preferredPeakBitRate al límite deseado, en bits por segundo, del consumo de ancho de banda de la red para el AVPlayerItem .

Utilice una de las siguientes declaraciones:

Repetir un video

En algunos casos, es posible que desee que un video se reproduzca automáticamente. Para hacer esto, puede obtener el evento del ciclo de vida "fin del video", buscar el principio y volver a reproducir.

Este código asume que ha configurado el delegado del control de reproducción en el objeto con este método:

Administrar videos en una lista de reproducción

Una forma de administrar una lista de reproducción de videos es almacenar los objetos de video en una tabla. Cuando el usuario selecciona un video de la tabla, la fila de la tabla contendrá el objeto de video.

Aquí hay una descripción general de cómo funciona:

  1. Recupera una lista de reproducción de tu cuenta.

  2. Reinicialice los contenedores que almacenan información relacionada con los videos en la lista de reproducción actual.

  3. Cuando se selecciona la vista de tabla, el índice de la fila se usa para crear una nueva videoDictionary. A continuación, solicite el video al diccionario. Si el video no es nulo, cargue el video en el playbackController.

Para trabajar con listas de reproducción, puede almacenar la lista de reproducción en otro objeto, como una mesa. Según la interacción del usuario, puede navegar por los índices del objeto y seleccionar el video apropiado.

Valores de progreso de los medios

Durante la reproducción de medios, los valores informados al método de delegado de progreso del Player SDK pueden incluir un valor inicial de infinito negativo y un valor final de infinito positivo. Estos valores se utilizan al procesar anuncios pre-roll y post-roll.

Si estos valores no son importantes para usted o interfieren con su propio seguimiento de progreso, pueden ignorarse fácilmente con una declaración condicional como esta:

Referencia

Para obtener más detalles, consulte la BCOVPlaybackController documentación.

Modificar subtítulos mediante programación

Puede configurar los subtítulos en cualquier momento durante la reproducción, después de Ready Se ha recibido el evento. Para hacer esto, puede usar el BCOVPlaybackControllerDelegate.

A continuación, se muestra un ejemplo de cómo configurar el idioma de los subtítulos en español:

Paginación con la API de reproducción

Al recuperar su contenido de Video Cloud desde la API de reproducción, puede implementar la paginación para una lista de reproducción.

Para desplazarse por un conjunto de videos en una lista de reproducción, use los siguientes parámetros de URL de solicitud:

  • limit - define la cantidad de videos que se devolverán desde la API de reproducción
  • offset : establece la cantidad de videos que se omitirán en una lista de reproducción desde la API de reproducción

Este ejemplo devuelve 6 videos comenzando con el décimo video en la lista de reproducción:

Agregar puntos de referencia mediante programación

Los clientes de Video Cloud pueden agregar puntos de referencia a un video usando Video Cloud Studio como se muestra en la Agregar puntos de referencia a videos documento.

También puede agregar puntos de referencia a su video mediante programación. El siguiente código agrega puntos de referencia de intervalo trimestral al video devuelto desde la API de reproducción:

 

Tenga en cuenta que el valor de your cue point type puede ser cualquier valor de cadena que desee, siempre que no esté utilizando ninguno de los Complementos de iOS. Para obtener más detalles, consulte la Referencia del protocolo BCOVCuePoint documento.

Si está utilizando puntos de referencia con el complemento IMA, obtenga más información en el Reglas de anuncios del lado del servidor / VAST y VMAP sección del complemento IMA para las notas del SDK nativo para iOS. La Aplicación de muestra de IMA muestra el valor requerido para los puntos de referencia de anuncios de IMA.

El siguiente código escucha sus puntos de referencia y muestra un mensaje:

Referencias

Para obtener más información, consulte lo siguiente:

Quitar el reproductor

Puede haber casos en los que desee eliminar el reproductor y la vista.

Desasignar el controlador de vista que tiene la propiedad de un BCOVPlaybackController también desasignará el controlador de reproducción. Para hacer esto, elimine la vista del reproductor de su supervista y configure el puntero del controlador de reproducción en nil.

Aquí hay un ejemplo de código:

Configurar el comportamiento del audio

La sesión de audio maneja el comportamiento del audio a nivel de la aplicación. Puede elegir entre varias categorías y configuraciones de sesiones de audio para personalizar el comportamiento de audio de su aplicación.

Elija la mejor categoría de sesión de audio para tu aplicación. Para obtener más información, consulte la documentación de Apple:

Muestra básica

Para nuestra muestra básica, utilizamos AVAudioSessionCategoryPlayback. Esto reproduce audio incluso cuando la pantalla está bloqueada y con el interruptor de timbre / silencio en silencio. Para simplificar, colocamos el código para esto en el Delegado de la aplicación.

Mezclar con otro audio

Es posible que desee permitir que se escuche el audio de otras aplicaciones cuando el audio de su aplicación esté silenciado. Para hacer esto, puede configurar el AVAudioSession en el controlador de vista que tiene acceso a su actual AVPlayer.

Para obtener más detalles, consulte la mixWithOthers opción de categoría.

Configuración de la velocidad de reproducción

Para controlar la velocidad de reproducción, puede configurar el rate propiedad en el AVPlayer clase expuesta en la sesión.

De forma predeterminada, la velocidad de reproducción solo se puede establecer en intervalos regulares (0,50, 0,67, 1,0, 1,25, 1,50 y 2,0). Al establecer el audioTimePitchAlgorithm , puede usar valores de tasa más granulares (como 1.7). Para obtener más detalles, consulte este discusión de stackoverflow.

avPlayerItem.audioTimePitchAlgorithm = AVAudioTimePitchAlgorithmVarispeed;

Para BCOVPlaybackSession , su código se vería similar a esto:

 

Configuración del modo VR Goggles para videos de 360 °

Al reproducir un video de 360 °, los usuarios pueden seleccionar el botón Video 360 en la barra de control para cambiar al modo VR Goggles. Es posible que también desee hacer esto mediante programación, antes de que comience la reproducción. Puede hacer esto actualizando el BCOVPlaybackController protocolo viewProjection propiedad de la siguiente manera:

 

Cambiar el color de fondo

Al reproducir un video en modo vertical, es posible que observe un borde negro en la parte superior e inferior del reproductor. La vista del reproductor es del tamaño de la pantalla, pero el video solo ocupa una pequeña parte del centro de la vista del reproductor. Las partes visibles alrededor del video son el fondo de la capa del reproductor.

Esto es normal AVPlayer comportamiento. Reduce el vídeo para que quepa dentro de la capa del reproductor, y el resto es el fondo de la capa del reproductor.

Puede cambiar el fondo de la capa del reproductor con el siguiente código:

 

Establecer el color de fondo en blanco debería verse así:

Color de fondo
Color de fondo personalizado