Android连续播放多个mp4文件

时间:2014-05-15 19:31:51

标签: android video mpeg-4

我正在为Android开发DASH客户端,并正在Android上测试以mp4格式播放多个视频片段。因此到目前为止我尝试了两种方法:

使用VideoView:

videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
    @Override
    public void onCompletion(MediaPlayer mp) {
        videoView.setVideoURI(uri);    
        videoView.requestFocus();
        videoView.setVisibility(View.VISIBLE);
        videoView.start();
    }
});

使用TextureView:

mMediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mediaPlayer) {
        mediaPlayer.start();
    }
});

mMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
    @Override
    public void onCompletion(MediaPlayer mp) {
        try {
            mMediaPlayer.setSurface(surface);
            mMediaPlayer.reset();
            mMediaPlayer.setDataSource(file.getAbsolutePath());
            mMediaPlayer.prepareAsync();
    } catch (Exception e) {
        e.printStackTrace();
        }    
    }
});

当切换到下一个文件时,两者都可以正常工作但有一点延迟。是什么导致的?我做错了什么并且可以改进代码?我读到了使用MediaExtractor和MediaCodec API来更好地播放多个视频,这些视频也因DASH与Android版本4.34.4的兼容性而得到改进,但我还没有理解如何使用它们在表面上播放视频和音频。我只能找到如何使用它们来播放视频或音频的来源。

我希望有人可以帮助我无缝连续播放多个视频片段。

0 个答案:

没有答案