サーチ…


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