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

问题描述 投票:0回答:2

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

我的想法是有两个 MediaPlayer 实例,每个实例准备然后轮流播放。我不清楚它们是否可以共享相同的 SurfaceView?或者也许,我应该使用不同的视图并在它们之间交换?或者,这个想法总的来说就是个坏主意?

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

android android-video-player
2个回答
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));

0
投票

我按照视频视图上的API 演示进行操作,以下是它如何设置视频视图:

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

我不是 100% 确定,但非常确定,当您调用 VideoView.setVideoURI() 时,VideoView 会创建并设置一个 MediaPlayer 对象。然后它会在下一次调用时将 MediaController 附加到它。 您可能只需为 OnCompletionListener 设置回调(

MediaPlayer 文档中的更多信息

),然后为播放列表中的新文件调用 VideoView.setVideoURI()。

© www.soinside.com 2019 - 2024. All rights reserved.