Android Utiliser ExoPlayer


Exemple

Instanciez votre ExoPlayer:

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

Pour lire de l'audio seulement, vous pouvez utiliser ces valeurs:

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

Les deux valeurs de tampon peuvent être modifiées en fonction de vos besoins.

Maintenant, vous devez créer un DataSource. Lorsque vous voulez diffuser du mp3, vous pouvez utiliser DefaultUriDataSource. Vous devez passer le contexte et un agent utilisateur. Pour rester simple, jouez un fichier local et transmettez null comme userAgent:

DataSource dataSource = new DefaultUriDataSource(context, null);

Ensuite, créez le sampleSource:

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

uri pointe vers votre fichier, en tant qu’extracteur, vous pouvez utiliser un simple Mp3Extractor par défaut si vous voulez lire des mp3. requestedBufferSize peut être modifié à nouveau selon vos besoins. Utilisez 5000 par exemple.

Vous pouvez maintenant créer votre rendu de piste audio en utilisant la source d’échantillon comme suit:

MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource);

Enfin appelez-vous sur votre instance exoPlayer:

exoPlayer.prepare(audioRenderer);

Pour lancer l'appel de lecture:

exoPlayer.setPlayWhenReady(true);