Zoeken…


Voeg ExoPlayer toe aan het project

Via jCenter

inclusief het volgende in het build.gradle-bestand van uw project:

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

waarbij rX.XX de versie van uw voorkeur is. Zie de releases van het project voor de nieuwste versie. Zie het project op Bintray voor meer informatie.

ExoPlayer gebruiken

Direct uw ExoPlayer:

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

Om alleen audio af te spelen, kunt u deze waarden gebruiken:

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

Beide bufferwaarden kunnen worden aangepast aan uw vereisten.

Nu moet u een DataSource maken. Als u mp3 wilt streamen, kunt u de DefaultUriDataSource gebruiken. U moet de context en een UserAgent doorgeven. Om het simpel te houden, speel een lokaal bestand en geef null door als userAgent:

DataSource dataSource = new DefaultUriDataSource(context, null);

Maak vervolgens de sampleSource:

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

uri verwijst naar je bestand, als Extractor kun je een eenvoudige standaard Mp3Extractor gebruiken als je mp3 wilt afspelen. wantedBufferSize kan opnieuw worden aangepast aan uw wensen. Gebruik bijvoorbeeld 5000.

Nu kunt u uw audiotrack-renderer als volgt maken met de voorbeeldbron:

MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource);

Roep tot slot de voorbereiding op je exoPlayer-instantie aan:

exoPlayer.prepare(audioRenderer);

Om het afspelen te starten:

exoPlayer.setPlayWhenReady(true);

Belangrijkste stappen om video en audio af te spelen met de standaard TrackRenderer-implementaties

// 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
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow