Suche…


Fügen Sie den ExoPlayer zum Projekt hinzu

Über jCenter

Fügen Sie Folgendes in die build.gradle-Datei Ihres Projekts ein:

compile 'com.google.android.exoplayer:exoplayer:rX.X.X'

wobei rX.XX die bevorzugte Version ist. Die neueste Version finden Sie in den Releases des Projekts. Weitere Informationen finden Sie im Projekt auf Bintray .

ExoPlayer verwenden

Instantiieren Sie Ihren ExoPlayer:

exoPlayer = ExoPlayer.Factory.newInstance(RENDERER_COUNT, minBufferMs, minRebufferMs);

Um nur Audio abzuspielen, können Sie diese Werte verwenden:

RENDERER_COUNT = 1 //since you want to render simple audio
minBufferMs = 1000 
minRebufferMs = 5000

Beide Pufferwerte können entsprechend Ihren Anforderungen angepasst werden.

Nun müssen Sie eine DataSource anlegen. Wenn Sie MP3 streamen möchten, können Sie die DefaultUriDataSource verwenden. Sie müssen den Kontext und einen UserAgent übergeben. Um es einfach zu halten, spielen Sie eine lokale Datei ab und übergeben Sie null als userAgent:

DataSource dataSource = new DefaultUriDataSource(context, null);

Dann erstellen Sie die sampleSource:

ExtractorSampleSource sampleSource = new ExtractorSampleSource(
                uri, dataSource, new Mp3Extractor(), RENDERER_COUNT, requestedBufferSize);

uri verweist auf Ihre Datei. Als Extractor können Sie einen einfachen Standard-Mp3Extractor verwenden, wenn Sie MP3 abspielen möchten. requestBufferSize kann entsprechend Ihren Anforderungen erneut angepasst werden. Verwenden Sie zum Beispiel 5000.

Jetzt können Sie Ihren Audiospur-Renderer mit der Beispielquelle wie folgt erstellen:

MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource);

Rufen Sie schließlich die Vorbereitungen für Ihre ExoPlayer-Instanz auf:

exoPlayer.prepare(audioRenderer);

Wiedergabeanruf starten:

exoPlayer.setPlayWhenReady(true);

Hauptschritte zum Abspielen von Video und Audio mit den standardmäßigen TrackRenderer-Implementierungen

// 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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow