Ho 10 video che devo riprodurre, una volta terminato, il prossimo inizia a suonare.ExoPlayer - riproduce 10 file uno dopo l'altro
Sto usando Google's ExoPlayer, utilizzo l'esempio nello DEMO @ GitHub. Posso riprodurre 1 video, ma se provo a suonare il prossimo, non inizierà.
Se provo a reinserire il lettore, e ricomincia a giocare, si blocca.
private void loadvideo() {
Uri uri = Uri.parse(VIDEO_LIBRARY_URL + currentVideo + ".mp4");
sampleSource = new FrameworkSampleSource(this, uri, null, 2);
// 1. Instantiate the player.
// 2. Construct renderers.
videoRenderer = new MediaCodecVideoTrackRenderer(sampleSource, MediaCodec.VIDEO_SCALING_MODE_SCALE_TO_FIT_WITH_CROPPING);
audioRenderer = new MediaCodecAudioTrackRenderer(sampleSource);
// 3. Inject the renderers through prepare.
player.prepare(videoRenderer, audioRenderer);
// 4. Pass the surface to the video renderer.
surface = surfaceView.getHolder().getSurface();
player.sendMessage(videoRenderer, MediaCodecVideoTrackRenderer.MSG_SET_SURFACE, surface);
// 5. Start playback.
player.setPlayWhenReady(true);
player.addListener(new ExoPlayer.Listener() {
@Override
public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {
Log.d(TAG, "onPlayerStateChanged + " + playbackState);
if (playbackState == ExoPlayer.STATE_ENDED) {
currentVideo++;
loadNextVideo();
}
}
@Override
public void onPlayWhenReadyCommitted() {
}
@Override
public void onPlayerError(ExoPlaybackException error) {
}
});
}
Cosa sto facendo di sbagliato? Come posso riprodurre la continuità dei video?
Grazie.
quale errore hai trovato in un incidente? –
inoltre, come si presenta il codice loadNextVideo(). –