開始方法 - Amazon Interactive Video Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

開始方法

ライブラリのインストール

Amazon IVS Android プレイヤーライブラリを Android 開発環境に追加するには、ライブラリを以下に示すモジュールの build.gradleファイル (最新バージョンの Amazon IVS Player 用) に追加します。

repositories { mavenCentral() } dependencies { implementation 'com.amazonaws:ivs-player:1.24.0' }

または、SDK を手動でインストールするには、次の場所から最新バージョンをダウンロードします。

プレイヤーの作成とイベントリスナーのセットアップ

プレイヤーのインターフェイスは com.amazonaws.ivs.player.Player です。以下に示すように、インターフェイスを初期化します。

// Create a player instance // <this> refers to the current Android Activity player = Player.Factory.create(this); // Set up to receive playback events and errors player.addListener(this);

または、PlayerView を使用して初期化します。

// Create a player instance // <this> refers to the current Android Activity PlayerView playerView = new PlayerView(this); Player player = playerView.getPlayer(); // Set up to receive playback events and errors player.addListener(this);

注: Android アプリケーションのメインスレッドで、リスナーコールバックメソッドが実行されます。

動画の SurfaceView を設定する。

PlayerView を使用しない場合、SurfaceView を Android UI レイアウトに追加して、動画を表示できます。この Surface は、Video Streams 再生前に利用可能である必要があります。基本サーフェスへは、getHolder() の呼び出しによって取得される SurfaceHolder インターフェイスからアクセスできます。(「Android デベロッパーリファレンスSurfaceView」の「」を参照してください)。を使用してSurfaceHolder.Callback、表面の変更に関するイベントを受信します (SurfaceHolder「コールバック」を参照)。

surfaceView = (SurfaceView) findViewById(R.id.surfaceView); surfaceView.getHolder().addCallback(this); @Override public void surfaceCreated(SurfaceHolder holder) { this.surface = holder.getSurface(); if (player != null) { player.setSurface(this.surface); } } @Override public void surfaceDestroyed(SurfaceHolder holder) { this.surface = null; if (player != null) { player.setSurface(null); } }

ストリームを再生する

ストリームは非同期で読み込まれるため、アプリケーションが play メソッドを呼び出して再生を開始する前に、プレイヤーが READY 状態である必要があります。Player.Listener インターフェイスを使用して、プレイヤーがいつ正しい状態であるかを判断します。

次のサンプルコードを参照してください。

player.load(Uri.parse(url)); @Override public void onStateChanged(Player.State state) { switch (state) { case BUFFERING: // player is buffering break; case READY: player.play(); break; case IDLE: break; case PLAYING: // playback started break; } }

プレイヤーを解放する

player.release() メソッドは、プレイヤーが使用されなくなったときに呼び出され、ライブラリによって使用されるリソースを解放する必要があります。通常、これはプレイヤーを含むアクティビティまたはフラグメントの onDestroy コールバックで行われます。

@Override protected void onDestroy() { super.onDestroy(); player.removeListener(this); player.release(); }

player.release() メソッドの呼び出し後、プレイヤーは使用できなくなります。

アクセス許可

Android Player SDK には、次のアクセス許可が必要です。

<uses-permission android:name="android.permission.INTERNET" />

さらに、これらのオプションのアクセス許可により、再生体験を向上させることができます。

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />

スレッドセーフ

プレイヤー API はスレッドセーフではありません。プレイヤーインスタンスへのすべての呼び出しは、同じスレッドからのものである必要があります。