すべてのプロダクト
Search
ドキュメントセンター

ApsaraVideo VOD:クイックスタート

最終更新日:Nov 28, 2025

このトピックでは、ApsaraVideo Player SDK for Android を使用してビデオ再生を開始する方法について説明します。

前提条件

ApsaraVideo Player for Android の SDK の統合が完了していること。

オープンソースのサンプルプロジェクト

詳細なコード例については、API-ExampleBasicPlayback モジュールをご参照ください。このサンプルプロジェクトは、ApsaraVideo Player SDK のコア機能を迅速に統合するのに役立つ、Java ベースの Android プロジェクトです。

手順

ステップ 1:プレーヤーの作成

AliPlayerFactory クラスを使用して AliPlayer インスタンスを作成します。

// プレーヤーインスタンスを作成します。
AliPlayer mAliPlayer = AliPlayerFactory.createAliPlayer(context);
// traceId を渡します。
// オプション:トレース分析機能を使用します。ApsaraVideo Player SDK でのビデオ再生中に例外が発生した場合、この機能は特定のユーザーまたはセッションの異常な再生をエンドツーエンドでトレースします。これにより、問題を迅速に診断し、再生体験の管理を向上させることができます。
// traceId の値を定義します。これは、ビジネスのユーザー ID や、国際移動体装置識別番号 (IMEI) または広告主識別子 (IDFA) などのデバイス ID といった、ユーザーまたはデバイスの一意の識別子である必要があります。
mAliPlayer.setTraceId("traceId");
説明

プレーヤーの再生品質モニタリングトレース分析、および動画再生統計機能は、イベントトラッキングログのレポートに依存しています。再生品質モニタリングは、全体的な再生品質に関するデータを提供します。トレース分析は、特定のユーザーやデバイスを特定し、その再生動作を分析して、再生エラーなどの問題を迅速に特定するのに役立ちます。

プレーヤーを作成する際、利用可能な機能は setTraceId パラメーターの構成によって異なります:

  • setTraceId パラメーターを設定しない場合 (デフォルト):イベントトラッキングログのレポートが有効になります。再生品質モニタリングと動画再生統計機能を使用できます。トレース分析機能は利用できません。

  • setTraceId パラメーターに traceId を設定する場合:traceId の値はユーザー定義であり、ビジネスのユーザー ID や、国際移動体装置識別番号 (IMEI) または広告主識別子 (IDFA) などのデバイス ID といった、ユーザーまたはデバイスの一意の識別子である必要があります。traceId を設定すると、イベントトラッキングログのレポートが有効になります。再生品質モニタリング、トレース分析、動画再生統計機能を使用できます。

  • setTraceId パラメーターを DisableAnalytics に設定する場合:イベントトラッキングログのレポートが無効になります。再生品質モニタリング、トレース分析、動画再生統計機能は利用できません。

ステップ 2: 表示ビューの設定

プレーヤーは、AliDisplayView、SurfaceView、TextureView の 3 種類のビューをサポートしています。

  • AliDisplayView:SDK によってカプセル化された統一されたビューコンポーネントです。標準化されたインターフェイスを提供し、すぐに使用できます。このビューは、迅速な統合やシンプルな UI シナリオに適しています。

  • SurfaceView / TextureView:ネイティブビューです。アプリケーション層は、ビューのライフサイクルとレンダリングロジックを完全に管理できます。これらのビューは、複雑なビュー階層や、きめ細かなコントロールと高い柔軟性が求められるシナリオに適しています。

  1. XML ファイルでビューを宣言します。

    AliDisplayView

    <!-- プレーヤーレンダリングビュー -->
    <com.aliyun.player.videoview.AliDisplayView
        android:id="@+id/ali_display_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center" />

    SurfaceView

    <!-- プレーヤーレンダリングビュー -->
    <SurfaceView
        android:id="@+id/surface_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center" />

    TextureView

    <!-- プレーヤーレンダリングビュー -->
    <TextureView
        android:id="@+id/texture_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_gravity="center" />
  2. 表示ビューを設定します。

    AliDisplayView

    プレーヤーの setDisplayView メソッドを呼び出してビューをアタッチします。

    AliDisplayView mAliDisplayView = findViewById(R.id.display_view);
    // setPreferDisplayView() を使用してプレーヤービューのタイプを設定します。
    mAliDisplayView.setPreferDisplayView(AliDisplayView.DisplayViewType.SurfaceView);
    mAliPlayer.setDisplayView(mAliDisplayView);

    SurfaceView

    プレーヤーの setSurface メソッドを呼び出してビューをアタッチします。

    SurfaceView mSurfaceView = findViewById(R.id.surface_view);
    mSurfaceView.getHolder().addCallback(new SurfaceHolder.Callback() {
        @Override
        public void surfaceCreated(@NonNull SurfaceHolder holder) {
            mAliPlayer.setSurface(holder.getSurface());
        }
    
        @Override
        public void surfaceChanged(@NonNull SurfaceHolder holder, int format, int width, int height) {
            mAliPlayer.surfaceChanged();
        }
    
        @Override
        public void surfaceDestroyed(@NonNull SurfaceHolder holder) {
            mAliPlayer.setSurface(null)
        }
    });

    TextureView

    プレーヤーの setSurface メソッドを呼び出してビューをアタッチします。

    TextureView mTextureView = findViewById(R.id.texture_view);
    mTextureView.setSurfaceTextureListener(new TextureView.SurfaceTextureListener() {
        @Override
        public void onSurfaceTextureAvailable(@NonNull SurfaceTexture surface, int width, int height) {
            mAliPlayer.setSurface(new Surface(surface));
        }
    
        @Override
        public void onSurfaceTextureSizeChanged(@NonNull SurfaceTexture surface, int width, int height) {
            mAliPlayer.surfaceChanged();
        }
    
        @Override
        public boolean onSurfaceTextureDestroyed(@NonNull SurfaceTexture surface) {
            mAliPlayer.setSurface(null);
            return true;
        }
    
        @Override
        public void onSurfaceTextureUpdated(@NonNull SurfaceTexture surface) {
    
        }
    });

ステップ 3: 再生ソースの設定

VidAuth 再生 (推奨)

VidAuth vidAuth = new VidAuth();
vidAuth.setVid("Your Vid");// 必須。ビデオ ID (VideoId)。
vidAuth.setPlayAuth("<yourPlayAuth>");// 必須。再生認証情報。ApsaraVideo VOD の GetVideoPlayAuth 操作を呼び出して認証情報を生成します。
vidAuth.setRegion("The region ID");// ApsaraVideo Player SDK V5.5.5.0 以降では、このパラメーターは非推奨です。プレーヤーが自動的にリージョンを解析するため、設定する必要はありません。V5.5.5.0 より前のバージョンでは、このパラメーターは必須です。ApsaraVideo VOD が有効化されているリージョンを指定します。デフォルト値は cn-shanghai です。
// vidAuth.setAuthTimeout(3600); // 再生 URL の有効期間 (秒単位)。この値は、ApsaraVideo VOD コンソールで設定された URL 署名の有効期間を上書きします。このパラメーターを渡さない場合、デフォルト値の 3600 が使用されます。このパラメーターを設定する場合は、再生が完了する前に再生 URL の有効期限が切れるのを防ぐため、期間がビデオの長さを超えるようにしてください。
mAliPlayer.setDataSource(vidAuth);

VidSts 再生

VidSts vidSts = new VidSts();
vidSts.setVid("Your Vid");// 必須。ビデオ ID (VideoId)。
vidSts.setAccessKeyId("<yourAccessKeyId>");// 必須。一時的な AccessKey ペアの AccessKey ID。Security Token Service (STS) の AssumeRole 操作を呼び出して生成します。
vidSts.setAccessKeySecret("<yourAccessKeySecret>");// 必須。一時的な AccessKey ペアの AccessKey Secret。STS の AssumeRole 操作を呼び出して生成します。
vidSts.setSecurityToken("<yourSecurityToken>");// 必須。STS トークン。STS の AssumeRole 操作を呼び出して生成します。
vidSts.setRegion("The region ID");// 必須。ApsaraVideo VOD が有効化されているリージョン。デフォルト値は cn-shanghai です。
mAliPlayer.setDataSource(vidSts);

UrlSource 再生

// 再生ソースオブジェクトを作成し、再生 URL を設定します。
UrlSource urlSource = new UrlSource();
// 必須。再生 URL。サードパーティのビデオオンデマンド (VOD) URL、ApsaraVideo VOD からの再生 URL、またはローカルビデオ URL を指定できます。
urlSource.setUri("The playback URL");
mAliPlayer.setDataSource(urlSource);
説明

再生ソースの設定方法の詳細については、「基本機能」をご参照ください。

ステップ 4: 再生の開始

// 再生を準備します。
mAliPlayer.prepare();
// 再生を開始します。
mAliPlayer.start();

ステップ 5: 再生の終了

// 再生を停止します。
mAliPlayer.stop();
// プレーヤーを破棄します。
mAliPlayer.release();
// メモリリークを避けるためにリファレンスをクリアします。
mAliPlayer = null;

リファレンス

再生コントロールやイベントリスナーなどの基本的なプレーヤー機能の詳細については、「基本機能」をご参照ください。