Topik ini menjelaskan cara menggunakan SDK ApsaraVideo Player untuk iOS guna memulai pemutaran video.
Prasyarat
Anda telah mengintegrasikan SDK ApsaraVideo Player untuk iOS. Untuk informasi selengkapnya, lihat Integrasikan SDK.
Proyek demo sumber terbuka
Untuk contoh kode yang lebih rinci, lihat modul BasicPlayback dalam API-Example. Proyek demo Objective-C ini menunjukkan cara menggunakan SDK ApsaraVideo Player untuk iOS dan membantu pengembang mengintegrasikan fitur inti SDK dengan cepat.
Prosedur
Langkah 1: Buat player
Buat instans AliPlayer.
// Buat instans pemutar.
AliPlayer mAliPlayer = [[AliPlayer alloc] init];
// Buat kontainer tampilan untuk menampilkan video dan atur tampilan rendering untuk pemutar.
UIView playerView = [[UIView alloc] initWithFrame:self.view.bounds];
[self.view addSubview:playerView];
mAliPlayer.playerView = playerView;
[mAliPlayer setTraceID:traceId];Fitur-fitur pemutar untuk pemantauan kualitas pemutaran, pelacakan titik tunggal, dan statistik pemutaran video semuanya bergantung pada fitur pelaporan log instrumentasi. Pemantauan kualitas pemutaran memungkinkan Anda melihat data mengenai kualitas pemutaran secara keseluruhan. Pelacakan titik tunggal memungkinkan Anda menemukan pengguna atau perangkat tertentu, menganalisis perilaku pemutaran mereka, dan mengidentifikasi masalah pemutaran dengan cepat.
Saat membuat pemutar, fitur-fitur yang tersedia bervariasi berdasarkan pengaturan parameter setTraceID, sebagai berikut:
Jika Anda tidak meneruskan parameter
setTraceID(default): Fitur pelaporan log instrumentasi diaktifkan. Anda dapat menggunakan fitur pemantauan kualitas pemutaran dan statistik pemutaran video, tetapi tidak dapat menggunakan fitur pelacakan titik tunggal.Jika Anda meneruskan traceid ke parameter
setTraceID: Traceid adalah nilai kustom yang harus berupa pengenal unik untuk pengguna atau perangkat pengguna tersebut, seperti ID pengguna bisnis Anda, Identitas Peralatan Bergerak Internasional (IMEI), atau Pengenal untuk pengiklan (IDFA). Setelah meneruskan traceid, fitur pelaporan log instrumentasi diaktifkan, sehingga Anda dapat menggunakan fitur pemantauan kualitas pemutaran, pelacakan titik tunggal, dan statistik pemutaran video.Jika Anda mengatur parameter
setTraceIDkeDisableAnalytics: Fitur pelaporan log instrumentasi dinonaktifkan. Anda tidak dapat menggunakan fitur pemantauan kualitas pemutaran, pelacakan titik tunggal, maupun statistik pemutaran video.
Langkah 2: Atur sumber pemutaran
Pemutaran menggunakan VidAuth (Direkomendasikan)
AVPVidAuthSource *authSource = [[AVPVidAuthSource alloc] init];
authSource.vid = @"Video ID"; // Wajib diisi. ID video.
authSource.playAuth = @"<yourPlayAuth>"; // Wajib diisi. Kredensial pemutaran. Anda harus memanggil operasi GetVideoPlayAuth dari ApsaraVideo VOD untuk menghasilkan kredensial ini.
authSource.region = @"Region"; // Untuk SDK ApsaraVideo Player versi V5.5.5.0 dan yang lebih baru, parameter ini sudah tidak digunakan lagi. Anda tidak perlu mengatur wilayah karena pemutar akan menguraikannya secara otomatis. Untuk versi sebelum V5.5.5.0, parameter ini wajib diisi. Parameter ini menentukan wilayah tempat ApsaraVideo VOD diaktifkan. Nilai default: cn-shanghai.
// authSource.authTimeout = 3600; // Periode validitas URL pemutaran, dalam detik. Nilai ini menggantikan periode validitas Penandatanganan URL yang diatur di konsol ApsaraVideo VOD. Jika Anda tidak mengatur parameter ini, nilai default 3600 yang digunakan. Jika Anda mengatur parameter ini, pastikan nilainya lebih besar daripada durasi video aktual agar URL pemutaran tidak kedaluwarsa sebelum pemutaran selesai.
// Atur sumber pemutaran.
[mAliPlayer setAuthSource:authSource];Pemutaran menggunakan VidSts
AVPVidStsSource *source = [[AVPVidStsSource alloc] init];
source.vid = @"Video ID"; // Wajib diisi. ID video.
source.region = @"Region"; // Wajib diisi. Wilayah tempat ApsaraVideo VOD diaktifkan. Nilai default: cn-shanghai.
source.securityToken = @"<yourSecurityToken>"; // Wajib diisi. Token Layanan Keamanan (STS). Anda harus memanggil operasi AssumeRole dari STS untuk menghasilkan token ini.
source.accessKeySecret = @"<yourAccessKeySecret>"; // Wajib diisi. Rahasia AccessKey dari pasangan AccessKey sementara. Anda harus memanggil operasi AssumeRole dari STS untuk menghasilkan rahasia ini.
source.accessKeyId = @"<yourAccessKeyId>"; // Wajib diisi. ID AccessKey dari pasangan AccessKey sementara. Anda harus memanggil operasi AssumeRole dari STS untuk menghasilkan ID ini.
// source.authTimeout = 3600; // Periode validitas URL pemutaran, dalam detik. Nilai ini menggantikan periode validitas Penandatanganan URL yang diatur di konsol ApsaraVideo VOD. Jika Anda tidak mengatur parameter ini, nilai default 3600 yang digunakan. Jika Anda mengatur parameter ini, pastikan nilainya lebih besar daripada durasi video aktual agar URL pemutaran tidak kedaluwarsa sebelum pemutaran selesai.
// Jika Anda mengaktifkan transmisi langsung parameter enkripsi HLS di konsol ApsaraVideo VOD dan nama parameter default-nya adalah MtsHlsUriToken, Anda harus mengatur konfigurasi dan meneruskannya ke vid.
// Atur sumber pemutaran.
[mAliPlayer setStsSource:source]Pemutaran menggunakan UrlSource
// Buat objek sumber pemutaran dan atur URL pemutaran.
// URL pemutaran dapat berupa URL video sesuai permintaan (VOD) pihak ketiga, URL pemutaran dari ApsaraVideo VOD, atau URL video lokal.
AVPUrlSource *urlSource = [[AVPUrlSource alloc] urlWithString:@"URL Pemutaran"];
[mAliPlayer setUrlSource:urlSource];Untuk informasi selengkapnya tentang cara mengatur sumber pemutaran, lihat Fitur dasar.
Langkah 3: Mulai pemutaran
// Persiapkan pemutaran.
[mAliPlayer prepare];
// Setelah prepare dipanggil, Anda dapat memanggil operasi start secara sinkron. Pemutaran dimulai secara otomatis setelah callback onPrepared selesai.
[mAliPlayer start];Langkah 4: Hentikan pemutaran
// Hentikan pemutaran.
[mAliPlayer stop];
// Lepaskan sumber daya secara sinkron. Metode stop dipanggil secara otomatis.
[mAliPlayer destroy];
// Kosongkan referensi untuk mencegah kebocoran memori.
mAliPlayer = nil;Referensi
Untuk informasi selengkapnya tentang fitur dasar pemutar, seperti kontrol pemutaran dan pendengar event, lihat Fitur dasar.