Resumen
Este ejemplo reproduce un video devuelto por API de reproducción de Brightcove , que es la API más reciente y recomendada para recuperar contenido de su biblioteca de Video Cloud.
Para esta opción, necesitará una clave de política. Si no está familiarizado con las claves de política, consulte Descripción general de la API de políticas.
Empezar
Este ejemplo reproduce videos de una matriz interna de archivos de video.
Siga los pasos a continuación para familiarizarse con la configuración de un proyecto de aplicación que utiliza Brightcove Player SDK para iOS. Puede ver el código completo para cada uno de los siguientes:
Hay dos formas de probar este ejemplo:
Descarga la muestra
Descarga todo el proyecto de Xcode para experimentar.
- Clona o descarga el SDK nativo para muestras de iOS a su sistema local.
- Navega al Reproductor / VideoCloudBasicPlayer / objc aplicación de muestra.
- Ejecutar el
pod install
mando. - Abra y ejecute el espacio de trabajo recién creado.
Para obtener más detalles, consulte la Ejecución de aplicaciones de muestra para el SDK nativo para iOS / tvOS documento.
Cree la aplicación siguiendo los pasos de esta guía
Siga los pasos a continuación para familiarizarse con la configuración de un proyecto de aplicación que utilice Brightcove Player SDK para tvOS. Puede ver el código completo para cada uno de los siguientes:
Crea el proyecto
Configura un proyecto en Xcode. Luego, agregue Brightcove Player SDK junto con cualquier dependencia al proyecto.
Configurar el proyecto Xcode
Cree un nuevo proyecto de Xcode para la aplicación.
-
Inicie la creación de un nuevo proyecto de iOS en Xcode. Seleccione Crea un nuevo proyecto de Xcode. Alternativamente, en el menú superior de Xcode, puede seleccionar Archivo , Nuevo , Proyecto.
-
Elija Aplicación para la plantilla y haga clic en Siguiente .
-
Configure la información del proyecto de la siguiente manera:
- Nombre del producto: Reproducción de video simple
- Equipo: ninguno
El campo Equipo es opcional. Si desea distribuir su aplicación en la App Store, deberá seleccionar un equipo al que pertenezca a través del Programa de desarrolladores de Apple. Se requiere el nombre del equipo para la firma de código. En este ejemplo, seleccionaremos ninguno.
- Identificador de organización: com.example-company
Esto hace que el nombre del producto sea único para la tienda de aplicaciones. - Interfaz: Storyboard
- Idioma: C objetivo
Haz clic en Siguiente.
-
Elija la ubicación donde desea guardar su proyecto y haga clic en Crear .
- Ahora cierre el proyecto (sí, ciérrelo, ¡esto es importante!)
Agregue el SDK y sus dependencias a su proyecto
La forma más fácil de agregar el SDK y sus dependencias a su proyecto es usar CocoaPods.
CocoaPods es un administrador de dependencias que agrega bibliotecas a su proyecto. No es necesario, pero facilita la instalación. Para instalar CocoaPods, consulte las instrucciones en el CocoaPods sitio.
-
En la carpeta de su proyecto, cree un archivo de texto sin formato llamado Podfile (sin extensión de archivo).
-
Con un editor de texto, agregue las siguientes líneas de código al Podfile y guárdelo. Este código hace lo siguiente:
- Línea 1: Apunta a la ubicación de GitHub para las especificaciones del pod CocoaPods
- Línea 2: Apunta a la ubicación de GitHub para las especificaciones del pod de Brightcove
- Línea 4: Define la versión de la plataforma iOS
- Línea 6: Establece pods para usar marcos en lugar de bibliotecas estáticas
-
Líneas 8-10: Instale el SDK del reproductor nativo de Brightcove
- Para obtener más información sobre la gestión de dependencias, consulte la Cómo administrar las dependencias con CocoaPods artículo.
source 'https://github.com/CocoaPods/Specs.git' source 'https://github.com/brightcove/BrightcoveSpecs.git' platform :ios, '16.0' use_frameworks! target 'Simple-Video-Playback' do pod 'Brightcove-Player-Core/XCFramework' end
-
Abra una sesión de Terminal y navegue hasta su Reproducción de video simple Carpeta del proyecto Xcode.
-
En la sesión de Terminal, escriba el siguiente comando:
pod install
y presione Regreso para ejecutarlo. Debería ver una serie de mensajes en el terminal que indican que Brightcove Player SDK se ha agregado a su proyecto.
-
El
pod install
comando crea el.xcworkspace
archivo para su proyecto.Observe la última línea , que es importante; a partir de este punto, debe hacer lo siguiente:
- Abra el archivo Simple-Video-Playback.xcworkspace en Xcode
- No use el archivo Simple-Video-Playback.xcodeproj
Codificar la aplicación de video
Cree el código para una aplicación de reproducción de video simple.
- En Xcode, abra el Simple-Video-Playback.xcworkspace expediente.
Establecer el comportamiento de audio para la aplicación
La sesión de audio maneja el comportamiento del audio a nivel de la aplicación. Más información sobre el AVAudioSession clase.
Para esta muestra, usaremos AVAudioSessionCategoryPlayback
. Esto reproduce audio incluso cuando la pantalla está bloqueada y con el interruptor de timbre / silencio en silencio. Para simplificar, pondremos el código para esto en el Delegado de la aplicación.
-
En su proyecto, abra el archivo de implementación de App Delegate (AppDelegate.m).
-
En el
didFinishLaunchingWithOptions
método, agregue código para establecer la categoría de la sesión de audio. Asegúrese de importar elAVFoundation
marco de referencia.- Necesitamos el código a continuación para asegurarnos de que el audio se reproduzca cuando lo esperamos. Por ejemplo, sin configurar este código, no escucharemos el video cuando el interruptor de silencio esté encendido.
- Para simplificar la muestra, lo colocamos en el delegado de la aplicación. Para obtener más información sobre cómo usar esto en su propia aplicación, consulte la Guía de programación de sesiones de audio.
// // AppDelegate.m // Simple-Video-Playback // #import "AppDelegate.h" #import <AVFoundation/AVFoundation.h> @interface AppDelegate () @end @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. NSError *categoryError = nil; BOOL success = [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&categoryError]; if (!success) { NSLog(@"AppDelegate Debug - Error setting AVAudioSession category. Because of this, there may be no sound. `%@`", categoryError); } return YES; } #pragma mark - UISceneSession lifecycle - (UISceneConfiguration *)application:(UIApplication *)application configurationForConnectingSceneSession:(UISceneSession *)connectingSceneSession options:(UISceneConnectionOptions *)options { // Called when a new scene session is being created. // Use this method to select a configuration to create the new scene with. return [[UISceneConfiguration alloc] initWithName:@"Default Configuration" sessionRole:connectingSceneSession.role]; } - (void)application:(UIApplication *)application didDiscardSceneSessions:(NSSet<UISceneSession *> *)sceneSessions { // Called when the user discards a scene session. // If any sessions were discarded while the application was not running, this will be called shortly after application:didFinishLaunchingWithOptions. // Use this method to release any resources that were specific to the discarded scenes, as they will not return. } @end
Cree la implementación de View Controller
Actualice la implementación de View Controller para reproducir un video del servicio de catálogo de Brightcove.
-
En su proyecto, abra el archivo de implementación de View Controller (ViewController.m).
Importar el archivo de encabezado de Brightcove Player SDK
-
Agregue la siguiente declaración de importación para Brightcove Player SDK:
@import BrightcovePlayerSDK;
Personaliza el proyecto con tus valores
Agregue valores de identificación de token y lista de reproducción para acceder a su cuenta de Video Cloud.
Este ejemplo reproduce un video devuelto por API de reproducción de Brightcove , que es la API más reciente y recomendada para recuperar contenido de su biblioteca de Video Cloud. Si no está familiarizado con las claves de política, consulte la Descripción general de la API de políticas.
-
Bajo la
#import
directivas, agregue sus propios valores para lo siguiente:- Línea 11: Define la clave de política de la API de reproducción de Brightcove.
- Línea 12: Define su ID de cuenta de Video Cloud.
- Línea 13: Define su ID de video de Video Cloud.
// ** Customize these values with your own account information ** static NSString * const kViewControllerPlaybackServicePolicyKey = @"your policy key"; static NSString * const kViewControllerAccountID = @"your account id"; static NSString * const kViewControllerVideoID = @"your video id";
Declarar propiedades
-
En la sección de la interfaz ViewController, agregue las siguientes declaraciones de clase:
- Línea 14: Agrega los delegados de Brightcove a la
interface
. Esto permite que su aplicación escuche y responda a eventos de reproducción de video. - Línea 16: Define el
BCOVPlaybackService
class, que proporciona métodos asincrónicos para recuperar datos de la API de reproducción. - Línea 17: Define el
BCOVPlaybackController
, que tiene métodos para controlar la funcionalidad de reproducción. - Línea 18: Define la vista del reproductor para los controles de la interfaz de usuario de Brightcove.
- Línea 19: Define la vista del contenedor de video.
@interface ViewController () <BCOVPlaybackControllerDelegate> @property (nonatomic, strong) BCOVPlaybackService *playbackService; @property (nonatomic, strong) id<BCOVPlaybackController> playbackController; @property (nonatomic) BCOVPUIPlayerView *playerView; @property (nonatomic, weak) IBOutlet UIView *videoContainer; @end
- Línea 14: Agrega los delegados de Brightcove a la
Definir el método de inicialización
-
En la sección de implementación de ViewController, defina un
init
función que llama asetup
función que definirá en el siguiente paso.@implementation ViewController #pragma mark Setup Methods - (instancetype)initWithCoder:(NSCoder *)coder { self = [super initWithCoder:coder]; if (self) { [self setup]; } return self; }
Configurar el reproductor
-
Bajo la
init
función, crea una función llamadasetup
, que se llama cuando se carga la aplicación.- Línea 38: Utiliza el administrador compartido para crear un controlador de reproducción. La
BCOVPlayerSDKManager
class es un singleton que le permite crear otros objetos en el ecosistema SDK. -
Línea 40: Opcional: Si anula el
BCOVVideo
class o no utilice el catálogo o el servicio de reproducción y reproducción de Brightcove, debe enviar su ID de cuenta de Video Cloud a Video Cloud Analytics. Esto le permite ver los datos de esta aplicación en Video Cloud Analytics. - Líneas 42-44: configure el delegado y active las funciones de avance automático y reproducción automática.
-
Línea 46: Inicializa el servicio de reproducción con su ID de cuenta y Clave de política.
- (void)setup { _playbackController = [BCOVPlayerSDKManager.sharedManager createPlaybackController]; _playbackController.analytics.account = kViewControllerAccountID; // Optional _playbackController.delegate = self; _playbackController.autoAdvance = YES; _playbackController.autoPlay = YES; _playbackService = [[BCOVPlaybackService alloc] initWithAccountId:kViewControllerAccountID policyKey:kViewControllerPlaybackServicePolicyKey]; }
- Línea 38: Utiliza el administrador compartido para crear un controlador de reproducción. La
Configurar el reproductor
-
En el
viewDidLoad
función haga lo siguiente:- Línea 54: Cree y configure los controles del reproductor Brightcove, utilizando el diseño estándar de VOD.
- Línea 56: Agrega la vista del reproductor como una subvista de la vista principal.
- Línea 57: Apagar máscara de cambio de tamaño automático.
- Líneas 58-63: Usar Diseño automático para definir restricciones dinámicas para la vista del jugador.
- Líneas 64: Asigna la vista del jugador a su variable global asociada.
- Líneas 67: Asocia la vista del reproductor con el controlador de reproducción.
-
Línea 69: Llama al
requestContentFromPlaybackService
función, que definirá en el siguiente paso.
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // Set up our player view. Create with a standard VOD layout. BCOVPUIPlayerView *playerView = [[BCOVPUIPlayerView alloc] initWithPlaybackController:self.playbackController options:nil controlsView:[BCOVPUIBasicControlView basicControlViewWithVODLayout] ]; _videoContainer addSubview:playerView]; playerView.translatesAutoresizingMaskIntoConstraints = NO; [NSLayoutConstraint activateConstraints:@[ [playerView.topAnchor constraintEqualToAnchor:_videoContainer.topAnchor], [playerView.rightAnchor constraintEqualToAnchor:_videoContainer.rightAnchor], [playerView.leftAnchor constraintEqualToAnchor:_videoContainer.leftAnchor], [playerView.bottomAnchor constraintEqualToAnchor:_videoContainer.bottomAnchor], ]]; _playerView = playerView; // Associate the playerView with the playback controller. _playerView.playbackController = _playbackController; [self requestContentFromPlaybackService]; }
Solicitar contenido de la biblioteca de Brightcove
Para reproducir contenido de video, solicitará un video de su biblioteca de Video Cloud.
-
Bajo la
viewDidLoad
función, crea una función llamadarequestContentFromPlaybackService
como sigue:- (void)requestContentFromPlaybackService { [self.playbackService findVideoWithVideoID:kViewControllerVideoID parameters:nil completion:^(BCOVVideo *video, NSDictionary *jsonResponse, NSError *error) { if (video) { [self.playbackController setVideos:@[ video ]]; } else { NSLog(@"ViewController Debug - Error retrieving video: `%@`", error); } }]; }
Ver el código
La implementación de View Controller ahora está completa. Aquí está el código completo:
//
// ViewController.m
// Simple-Video-Playback
//
#import "ViewController.h"
@import BrightcovePlayerSDK;
// ** Customize these values with your own account information **
static NSString * const kViewControllerPlaybackServicePolicyKey = @"your policy key";
static NSString * const kViewControllerAccountID = @"your account id";
static NSString * const kViewControllerVideoID = @"your video id";
@interface ViewController () <BCOVPlaybackControllerDelegate>
@property (nonatomic, strong) BCOVPlaybackService *playbackService;
@property (nonatomic, strong) id<BCOVPlaybackController> playbackController;
@property (nonatomic) BCOVPUIPlayerView *playerView;
@property (nonatomic, weak) IBOutlet UIView *videoContainer;
@end
@implementation ViewController
#pragma mark Setup Methods
- (instancetype)initWithCoder:(NSCoder *)coder
{
self = [super initWithCoder:coder];
if (self)
{
[self setup];
}
return self;
}
- (void)setup
{
_playbackController = [BCOVPlayerSDKManager.sharedManager createPlaybackController];
_playbackController.analytics.account = kViewControllerAccountID; // optional
_playbackController.delegate = self;
_playbackController.autoAdvance = YES;
_playbackController.autoPlay = YES;
_playbackService = [[BCOVPlaybackService alloc] initWithAccountId:kViewControllerAccountID policyKey:kViewControllerPlaybackServicePolicyKey];
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// Set up our player view. Create with a standard VOD layout.
BCOVPUIPlayerView *playerView = [[BCOVPUIPlayerView alloc] initWithPlaybackController:self.playbackController options:nil controlsView:[BCOVPUIBasicControlView basicControlViewWithVODLayout] ];
[_videoContainer addSubview:playerView];
playerView.translatesAutoresizingMaskIntoConstraints = NO;
[NSLayoutConstraint activateConstraints:@[
[playerView.topAnchor constraintEqualToAnchor:_videoContainer.topAnchor],
[playerView.rightAnchor constraintEqualToAnchor:_videoContainer.rightAnchor],
[playerView.leftAnchor constraintEqualToAnchor:_videoContainer.leftAnchor],
[playerView.bottomAnchor constraintEqualToAnchor:_videoContainer.bottomAnchor],
]];
_playerView = playerView;
// Associate the playerView with the playback controller.
_playerView.playbackController = _playbackController;
[self requestContentFromPlaybackService];
}
- (void)requestContentFromPlaybackService
{
[self.playbackService findVideoWithVideoID:kViewControllerVideoID parameters:nil completion:^(BCOVVideo *video, NSDictionary *jsonResponse, NSError *error) {
if (video)
{
[self.playbackController setVideos:@[ video ]];
}
else
{
NSLog(@"ViewController Debug - Error retrieving video: `%@`", error);
}
}];
}
@end
Personaliza el proyecto con tus valores
Establezca el valor de su ID de cuenta, que se enviará a Brightcove en un paso posterior.
-
Bajo la
#import
directivas, agregue su propio valor para su ID de cuenta de Brightcove. Esto se utilizará para registrar su aplicación en Brightcove.// ** Customize these values with your own account information ** static NSString * const kViewControllerAccountID = @"your account id";
Declarar propiedades
-
En la sección de la interfaz ViewController, agregue los siguientes delegados y declaraciones de clase:
- Línea 14: Agrega los delegados de Brightcove a la
interface
. - Línea 16: Define el
BCOVPlaybackController
, que tiene métodos para controlar la funcionalidad de reproducción. - Línea 17: Define la vista del reproductor para los controles de la interfaz de usuario de Brightcove.
-
Línea 18: Define la vista del contenedor de video.
@interface ViewController () <BCOVPlaybackControllerDelegate> @property (nonatomic, strong) id<BCOVPlaybackController> playbackController; @property (nonatomic) BCOVPUIPlayerView *playerView; @property (nonatomic, weak) IBOutlet UIView *videoContainer; @end
- Línea 14: Agrega los delegados de Brightcove a la
Definir métodos de inicialización
-
En la sección de implementación de ViewController, defina un
init
función que llama asetup
función que definirá en el siguiente paso.@implementation ViewController #pragma mark Setup Methods - (instancetype)initWithCoder:(NSCoder *)coder { self = [super initWithCoder:coder]; if (self) { [self setup]; } return self; }
Configurar el reproductor
- Bajo la
init
función, crea un método llamadosetup
, que se llama cuando se carga la aplicación.- Línea 37: Crea el controlador de reproducción usando un administrador compartido. La
BCOVPlayerSDKManager
class es un singleton que le permite crear otros objetos en el ecosistema SDK. - Línea 39: Registra su aplicación con Brightcove enviando su ID de cuenta.
-
Líneas 41-43: configure el delegado y active las funciones de avance automático y reproducción automática.
- (void)setup { _playbackController = [BCOVPlayerSDKManager.sharedManager createPlaybackController]; _playbackController.analytics.account = kViewControllerAccountID; _playbackController.delegate = self; _playbackController.autoAdvance = YES; _playbackController.autoPlay = YES; }
- Línea 37: Crea el controlador de reproducción usando un administrador compartido. La
Configure el reproductor e inicie la reproducción
-
En el
viewDidLoad
método haga lo siguiente:- Líneas 50-53: Crea una variedad de fuentes de video. Definirás el
videoWithURL
función en el siguiente paso. - Línea 56: Cree la vista del reproductor con un diseño VOD estándar.
- Línea 58: Agrega la vista del reproductor como una subvista de la vista principal.
- Línea 59: Apagar máscara de cambio de tamaño automático.
- Líneas 60-65: Usar Diseño automático para definir restricciones dinámicas para la vista del jugador.
- Línea 66: Asocia la vista del reproductor con el controlador de reproducción.
- Línea 69: Agrega la matriz de video a la cola de reproducción del controlador.
-
Línea 74: Inicia la reproducción del primer video.
- (void)viewDidLoad { [super viewDidLoad]; // create an array of videos NSArray *videos = @[ [self videoWithURL:[NSURL URLWithString:@"https://solutions.brightcove.com/bcls/assets/videos/Great_Horned_Owl.mp4"]], [self videoWithURL:[NSURL URLWithString:@"https://solutions.brightcove.com/bcls/assets/videos/Great_Blue_Heron.mp4"]] ]; // Set up our player view. Create with a standard VOD layout. BCOVPUIPlayerView *playerView = [[BCOVPUIPlayerView alloc] initWithPlaybackController:self.playbackController options:nil controlsView:[BCOVPUIBasicControlView basicControlViewWithVODLayout] ]; [_videoContainer addSubview:playerView]; playerView.translatesAutoresizingMaskIntoConstraints = NO; [NSLayoutConstraint activateConstraints:@[ [playerView.topAnchor constraintEqualToAnchor:_videoContainer.topAnchor], [playerView.rightAnchor constraintEqualToAnchor:_videoContainer.rightAnchor], [playerView.leftAnchor constraintEqualToAnchor:_videoContainer.leftAnchor], [playerView.bottomAnchor constraintEqualToAnchor:_videoContainer.bottomAnchor], ]]; _playerView = playerView; // Associate the playerView with the playback controller. _playerView.playbackController = _playbackController; // add the video array to the controller's playback queue [self.playbackController setVideos:videos]; // play the first video [self.playbackController play]; }
- Líneas 50-53: Crea una variedad de fuentes de video. Definirás el
El resto
-
Bajo la
viewDidLoad
función, cree una función que establezca el método de entrega paraBCOVSources
que pertenecen a un video.- (BCOVVideo *)videoWithURL:(NSURL *)url { // set the delivery method for BCOVSources that belong to a video BCOVSource *source = [[BCOVSource alloc] initWithURL:url deliveryMethod:kBCOVSourceDeliveryHLS properties:nil]; return [[BCOVVideo alloc] initWithSource:source cuePoints:[BCOVCuePointCollection collectionWithArray:@[]] properties:@{}]; }
Ver el código
La implementación de View Controller ahora está completa. Aquí está el código completo:
//
// ViewController.m
// Simple-Video-Playback
//
// Copyright © Brightcove. All rights reserved.
//
#import "ViewController.h"
// ** Customize these values with your own account information **
static NSString * const kViewControllerAccountID = @"your account id";
@interface ViewController () <BCOVPlaybackControllerDelegate>
@property (nonatomic, strong) id<BCOVPlaybackController> playbackController;
@property (nonatomic) BCOVPUIPlayerView *playerView;
@property (nonatomic, weak) IBOutlet UIView *videoContainer;
@end
@implementation ViewController
#pragma mark Setup Methods
- (instancetype)initWithCoder:(NSCoder *)coder
{
self = [super initWithCoder:coder];
if (self)
{
[self setup];
}
return self;
}
- (void)setup
{
_playbackController = [BCOVPlayerSDKManager.sharedManager createPlaybackController];
_playbackController.analytics.account = kViewControllerAccountID; // optional
_playbackController.delegate = self;
_playbackController.autoAdvance = YES;
_playbackController.autoPlay = YES;
}
- (void)viewDidLoad {
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
// create an array of videos
NSArray *videos = @[
[self videoWithURL:[NSURL URLWithString:@"https://solutions.brightcove.com/bcls/assets/videos/Great_Horned_Owl.mp4"]],
[self videoWithURL:[NSURL URLWithString:@"https://solutions.brightcove.com/bcls/assets/videos/Great_Blue_Heron.mp4"]]
];
// Set up our player view. Create with a standard VOD layout.
BCOVPUIPlayerView *playerView = [[BCOVPUIPlayerView alloc] initWithPlaybackController:self.playbackController options:nil controlsView:[BCOVPUIBasicControlView basicControlViewWithVODLayout] ];
// add the view as a subview of the main view
[_videoContainer addSubview:playerView];
playerView.translatesAutoresizingMaskIntoConstraints = NO;
[NSLayoutConstraint activateConstraints:@[
[playerView.topAnchor constraintEqualToAnchor:_videoContainer.topAnchor],
[playerView.rightAnchor constraintEqualToAnchor:_videoContainer.rightAnchor],
[playerView.leftAnchor constraintEqualToAnchor:_videoContainer.leftAnchor],
[playerView.bottomAnchor constraintEqualToAnchor:_videoContainer.bottomAnchor],
]];
_playerView = playerView;
// Associate the playerView with the playback controller.
_playerView.playbackController = _playbackController;
// add the video array to the controller's playback queue
[self.playbackController setVideos:videos];
// play the first video
[self.playbackController play];
}
- (BCOVVideo *)videoWithURL:(NSURL *)url
{
// set the delivery method for BCOVSources that belong to a video
BCOVSource *source = [[BCOVSource alloc] initWithURL:url deliveryMethod:kBCOVSourceDeliveryHLS properties:nil];
return [[BCOVVideo alloc] initWithSource:source cuePoints:[BCOVCuePointCollection collectionWithArray:@[]] properties:@{}];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
@end
Conectar la vista del guión gráfico
Conecta el Main.storyboard
ver con elvideoContainer
propiedad.
-
En el Xcode, abra el
Main.storyboard
expediente. -
En la vista complementaria, expanda el Ver escena del controlador y luego el Ver controlador menú para exponer el Vista objeto.
-
Haga clic en Agregar editor a la derecha y abra el
ViewController.m
archivo. -
Seleccione el círculo abierto junto al
@property
porvideoContainer
y arrástrelo al Vista objeto para conectar estos componentes.
Gestionar la seguridad de los medios
App Transport Security (ATS) aplica conexiones seguras entre su aplicación y los servicios web. Con el lanzamiento de Apple del SDK de iOS 9, una nueva función llamada Seguridad de transporte de aplicaciones (ATS) fue añadido.
-
Una de las siguientes situaciones se aplicará a su aplicación:
-
De forma predeterminada, Brightcove Native SDK para iOS utiliza una política de selección de fuente para elegir HTTPS sobre fuentes HTTP, por lo que puede crear sus aplicaciones con ATS habilitado.
Eso es todo, está listo para ejecutar su aplicación.
-
Si sus activos remotos usan HTTPS en lugar de fuentes HTTP, entonces puede crear sus aplicaciones con ATS habilitado.
Eso es todo, está listo para ejecutar su aplicación.
-
Si está utilizando fuentes HTTP o tiene otras llamadas HTTP en su aplicación, puede encontrar el siguiente mensaje de error:
App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.
Esto significa que ATS está habilitado, pero su sistema no está configurado para cumplir con los requisitos de ATS. Para solucionar esta situación, consulte la Trabajar con App Transport Security (ATS) documento.
-
Ejecutar la aplicación
La aplicación está lista para compilarse y ejecutarse en un iPhone, iPad o el simulador de iOS. Debería poder reproducir el video desde su biblioteca de Video Cloud.
Para obtener más detalles, consulte Brightcove Player SDK for iOS Samples .
La aplicación está lista para compilarse y ejecutarse en un iPhone, iPad o el simulador de iOS. Debería poder reproducir los videos definidos en su matriz.
Para obtener más detalles, consulte Brightcove Player SDK for iOS Samples .