Zunächst einmal instanziiert Ihre ExoPlayer mit dieser Zeile:
exoPlayer = ExoPlayer.Factory.newInstance(RENDERER_COUNT, minBufferMs, minRebufferMs);
Wenn Sie nur Audio abspielen möchten Sie diese Werte verwenden können:
RENDERER_COUNT = 1 //since you want to render simple audio
minBufferMs = 1000
minRebufferMs = 5000
Beide Pufferwerte können nach gezwickt werden, um Ihre Anforderungen
Jetzt müssen Sie eine DataSource erstellen. Wenn Sie MP3 streamen möchten, können Sie die DefaultUriDataSource verwenden. Sie müssen den Kontext und einen UserAgent übergeben. Um es einfach spielt eine lokale Datei und übergeben Sie null als Useragent:
DataSource dataSource = new DefaultUriDataSource(context, null);
Dann erstellen die sampleSource:
ExtractorSampleSource sampleSource = new ExtractorSampleSource(
uri, dataSource, new Mp3Extractor(), RENDERER_COUNT, requestedBufferSize);
uri Punkte auf Ihre Datei als Extractor Sie einen einfachen Standard-Mp3Extractor verwenden können, wenn Du willst mp3 spielen. requestedBufferSize kann nach Ihren Wünschen angepasst werden. Verwenden Sie zum Beispiel 5000.
Jetzt können Sie Ihre Audio-Track-Renderer mit der Probenquelle wie folgt erstellen:
MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource);
rufen schließlich auf exoPlayer Instanz vorbereiten:
exoPlayer.prepare(audioRenderer);
Wiedergabe Anruf zu starten:
exoPlayer.setPlayWhenReady(true);
Vielen Dank für Ihren Kommentar, Exoplayer ist meiner Meinung nach ein großer Vorteil für Android, aber im Moment ist es unter anfänger freundlich Dokumentation, aber vielleicht Anfänger sollten wegbleiben, bis sie es besser wissen eh! Ich habe eine andere Frage, die ich gerade bezüglich des Spielers gestellt habe, an dem ich etwas Input lieben würde, wenn Sie denken, dass Sie auch damit helfen könnten! danke! –
Super, aber wie zeigst du das Video? Mit VideoView? .. Nevermind, gerade gefunden https://github.com/brianwernick/ExoMedia/ – Stephane
@MaxMarshall und Misform Wie kann ich eine AAC-Datei abspielen? Was sollte der Extractor dann sein? –