Android
ExoPlayer
サーチ…
ExoPlayerをプロジェクトに追加する
Via jCenter
プロジェクトのbuild.gradleファイルに次のように記述します。
compile 'com.google.android.exoplayer:exoplayer:rX.X.X'
ここで、rX.XXはお好みのバージョンです。最新バージョンについては、プロジェクトのリリースを参照してください。詳細については、 Bintrayのプロジェクトを参照してください 。
ExoPlayerの使用
ExoPlayerをインスタンス化する:
exoPlayer = ExoPlayer.Factory.newInstance(RENDERER_COUNT, minBufferMs, minRebufferMs);
オーディオのみを再生するには、次の値を使用します。
RENDERER_COUNT = 1 //since you want to render simple audio
minBufferMs = 1000
minRebufferMs = 5000
両方のバッファ値は、必要に応じて調整できます。
これでデータソースを作成する必要があります。 mp3をストリーミングする場合は、DefaultUriDataSourceを使用できます。コンテキストとUserAgentを渡す必要があります。単純なままローカルファイルを再生し、nullをuserAgentとして渡す:
DataSource dataSource = new DefaultUriDataSource(context, null);
次に、sampleSourceを作成します。
ExtractorSampleSource sampleSource = new ExtractorSampleSource(
uri, dataSource, new Mp3Extractor(), RENDERER_COUNT, requestedBufferSize);
uriがファイルを指している場合、mp3を再生したい場合は、Extractorとして単純なデフォルトのMp3Extractorを使用することができます。 requestedBufferSizeは、要件に応じて再度調整することができます。たとえば、5000を使用します。
これで、次のようにサンプルソースを使用してオーディオトラックレンダラーを作成できます。
MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource);
最後に、exoPlayerインスタンスでprepareを呼び出します。
exoPlayer.prepare(audioRenderer);
再生を開始するには:
exoPlayer.setPlayWhenReady(true);
標準のTrackRenderer実装を使用してビデオとオーディオを再生する主な手順
// 1. Instantiate the player.
player = ExoPlayer.Factory.newInstance(RENDERER_COUNT);
// 2. Construct renderers.
MediaCodecVideoTrackRenderer videoRenderer = ...
MediaCodecAudioTrackRenderer audioRenderer = ...
// 3. Inject the renderers through prepare.
player.prepare(videoRenderer, audioRenderer);
// 4. Pass the surface to the video renderer.
player.sendMessage(videoRenderer, MediaCodecVideoTrackRenderer.MSG_SET_SURFACE, surface);
// 5. Start playback.
player.setPlayWhenReady(true);
...
player.release(); // Don’t forget to release when done!
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow