Cette rubrique explique comment utiliser le SDK ApsaraVideo Player pour iOS afin de démarrer la lecture vidéo.
Prérequis
Vous avez intégré le SDK ApsaraVideo Player pour iOS. Pour plus d'informations, consultez la section Intégrer le SDK.
Projet de démonstration open source
Pour des exemples de code détaillés, consultez le module BasicPlayback du projet API-Example. Ce projet de démonstration en Objective-C illustre l'utilisation du SDK ApsaraVideo Player pour iOS et aide les développeurs à intégrer rapidement les fonctionnalités principales du SDK.
Procédure
Étape 1 : Créer un lecteur
Créez une instance AliPlayer.
// Create a player instance.
AliPlayer mAliPlayer = [[AliPlayer alloc] init];
// Create a view container to display the video and set the rendering view for the player.
UIView playerView = [[UIView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:playerView];
mAliPlayer.playerView = playerView;
[mAliPlayer setTraceID:traceId];
Les fonctionnalités du lecteur relatives à la surveillance de la qualité de lecture, au suivi ponctuel et aux statistiques de lecture vidéo dépendent toutes de la fonctionnalité de rapport des journaux d'instrumentation. La surveillance de la qualité de lecture vous permet de visualiser les données sur la qualité globale de la lecture. Le suivi ponctuel vous permet de localiser un utilisateur ou un appareil spécifique, d'analyser son comportement de lecture et d'identifier rapidement les problèmes de lecture.
Lors de la création d'un lecteur, les fonctionnalités disponibles varient selon les paramètres définis pour setTraceID. Voici les détails :
Si vous ne transmettez pas le paramètre
setTraceID(paramètre par défaut) : la fonctionnalité de rapport des journaux d'instrumentation est activée. Vous pouvez utiliser les fonctionnalités de surveillance de la qualité de lecture et de statistiques de lecture vidéo. Vous ne pouvez pas utiliser la fonctionnalité de suivi ponctuel.Si vous transmettez un traceid au paramètre
setTraceID: le traceid est une valeur personnalisée qui doit être un identifiant unique pour votre utilisateur ou l'appareil de l'utilisateur, tel que l'ID utilisateur de votre entreprise, un IMEI (International Mobile Equipment Identity) ou un IDFA (identifier for advertisers). Une fois le traceid transmis, la fonctionnalité de rapport des journaux d'instrumentation est activée. Vous pouvez alors utiliser les fonctionnalités de surveillance de la qualité de lecture, de suivi ponctuel et de statistiques de lecture vidéo.Si vous définissez le paramètre
setTraceIDsurDisableAnalytics: la fonctionnalité de rapport des journaux d'instrumentation est désactivée. Vous ne pouvez pas utiliser les fonctionnalités de surveillance de la qualité de lecture, de suivi ponctuel ni de statistiques de lecture vidéo.
Étape 2 : Définir la source de lecture
Lecture à l'aide de VidAuth (recommandé)
AVPVidAuthSource *authSource = [[AVPVidAuthSource alloc] init];
authSource.vid = @"Video ID"; // Required. The video ID.
authSource.playAuth = @"<yourPlayAuth>"; // Required. The playback credential. You must call the GetVideoPlayAuth operation of ApsaraVideo VOD to generate the credential.
authSource.region = @"Region"; // For ApsaraVideo Player SDK V5.5.5.0 and later, this parameter is deprecated. You do not need to set the region because the player automatically parses it. For versions earlier than V5.5.5.0, this parameter is required. It specifies the region where ApsaraVideo VOD is activated. Default value: cn-shanghai.
// authSource.authTimeout = 3600; // The validity period of the playback URL, in seconds. This value overwrites the validity period of URL signing that is set in the ApsaraVideo VOD console. If you do not set this parameter, the default value 3600 is used. If you set this parameter, make sure that its value is greater than the actual video duration to prevent the playback URL from expiring before playback is complete.
// Set the playback source.
[mAliPlayer setAuthSource:authSource];
Lecture à l'aide de VidSts
AVPVidStsSource *source = [[AVPVidStsSource alloc] init];
source.vid = @"Video ID"; // Required. The video ID.
source.region = @"Region"; // Required. The region where ApsaraVideo VOD is activated. Default value: cn-shanghai.
source.securityToken = @"<yourSecurityToken>"; // Required. The Security Token Service (STS) token. You must call the AssumeRole operation of STS to generate the token.
source.accessKeySecret = @"<yourAccessKeySecret>"; // Required. The AccessKey secret of the temporary AccessKey pair. You must call the AssumeRole operation of STS to generate the secret.
source.accessKeyId = @"<yourAccessKeyId>"; // Required. The AccessKey ID of the temporary AccessKey pair. You must call the AssumeRole operation of STS to generate the ID.
// source.authTimeout = 3600; // The validity period of the playback URL, in seconds. This value overwrites the validity period of URL signing that is set in the ApsaraVideo VOD console. If you do not set this parameter, the default value 3600 is used. If you set this parameter, make sure that its value is greater than the actual video duration to prevent the playback URL from expiring before playback is complete.
// If you enable HLS encryption parameter pass-through in the ApsaraVideo VOD console and the default parameter name is MtsHlsUriToken, you must set the config and pass it to the vid.
// Set the playback source.
[mAliPlayer setStsSource:source]
Lecture à l'aide de UrlSource
// Create a playback source object and set the playback URL.
// The playback URL can be a third-party video-on-demand (VOD) URL, a playback URL from ApsaraVideo VOD, or a local video URL.
AVPUrlSource *urlSource = [[AVPUrlSource alloc] urlWithString:@"Playback URL"];
[mAliPlayer setUrlSource:urlSource];
Pour plus d'informations sur la configuration d'une source de lecture, consultez la section Fonctionnalités de base.
Étape 3 : Démarrer la lecture
// Prepare for playback.
[mAliPlayer prepare];
// After prepare is called, you can synchronously call the start operation. Playback starts automatically after the onPrepared callback is complete.
[mAliPlayer start];
Étape 4 : Arrêter la lecture
// Stop playback.
[mAliPlayer stop];
// Release resources synchronously. The stop method is automatically called.
[mAliPlayer destroy];
// Clear the reference to prevent memory leaks.
mAliPlayer = nil;
Références
Pour plus d'informations sur les fonctionnalités de base du lecteur, telles que le contrôle de la lecture et les écouteurs d'événements, consultez la section Fonctionnalités de base.