android是否支持视频文件的播放列表?

时间:2010-04-25 17:37:11

标签: android android-video-player

我和Android初学者,所以对我很轻松; - )

我正在尝试播放一系列视频文件,我正在从服务器上下载。 挑战在于我希望从一个文件平滑过渡到另一个文件。

我的想法是让两个MediaPlayer实例各自准备然后依次播放。我不清楚他们是否可以共享相同的SurfaceView? 或许,我应该使用不同的视图并在它们之间交换? 或者,这个想法一起是一个坏主意?

当我尝试使用不可见的视图运行配置MediaPlayer实例时,它似乎会使我的模拟器崩溃。

2 个答案:

答案 0 :(得分:3)

您可以将播放列表设为数组列表

private int url = 0;
private ArrayList<String> videoList = new ArrayList<String>();

并将网址添加到列表

    videoList.add("/mnt/sdcard/v4.mp4");
    videoList.add("/mnt/sdcard/v3.mp4");
    videoList.add("/mnt/sdcard/v1.mp4");

和创建方法调用

playVideo(videoList.get(0));

然后OnCompletionListener方法调用

url++;
        if (mVideoView != null) {
            current = null;             
            mVideoView.stopPlayback();
        }

        if (url > videoList.size() - 1) {
            url = 0;
        }

        playVideo(videoList.get(url));

答案 1 :(得分:0)

我关注了API Demo on Video View,以下是设置VideoView的方式:

mVideoView.setVideoURI(Uri.parse(Uri.encode(URLString)));
mVideoView.setMediaController(new MediaController(this));
mVideoView.requestFocus();

我不是 100%确定,但很确定,当您调用VideoView.setVideoURI()时,VideoView会创建并设置MediaPlayer对象。然后它会在下次调用时将MediaController附加到它。

您可以设置OnCompletionListener(more info here in MediaPlayer doc)的回调,并为播放列表中的新文件调用VideoView.setVideoURI()。