手动创建视频播放列表(不是来自SD卡)

时间:2013-09-18 06:51:22

标签: android android-listview

任何人都知道如何在Android上手动创建视频播放列表? 以及怎么玩? 我想播放播放列表中的视频而不是SD卡/内部电话。

以及如何从listview播放视频? 列表视图代码:

int[] indexVideo = {R.raw.saya,R.raw.anda,R.raw.aku,R.raw.dia,R.raw.kita,R.raw.lupa,R.raw.makan,R.raw.bahagia, R.raw.bisa, R.raw.belanja,R.raw.pergi,R.raw.pulang,R.raw.minum,R.raw.duduk};

如何在listview中播放所有这些视频?

谢谢

3 个答案:

答案 0 :(得分:0)

视频是否在SD卡上是无关紧要的。如果他们*在SD卡上,你会如何显示视频列表?如果你有这个问题的答案,那么就做同样的事情,除了你的apk常驻视频。

参考此问题,了解如何显示视频的缩略图: how to display video thumbnails?

然后只播放用户选择的视频。

答案 1 :(得分:0)

您是否看过Android开发者的Media Player页面?你可以用

create(Context context, int resid)

为您的资源创建MediaPlayer的方法。和

start()

启动第一个媒体的方法,之后你也可以使用

setNextMediaPlayer(MediaPlayer next)

通过为其创建新的MediaPlayer来播放下一个资源

答案 2 :(得分:0)

你不应该像之前的评论中所说的那样“制作很多新的MediaPlayers”。你应该准备好两个,一个玩,一个玩,所以它可以提前做好准备。

我提供以下内容但不保证它会起作用(因为我没有测试过),但它应该让你知道如何继续:

private int[] mPlaylist = new int[] { /* Your raw resource IDs */ };

private MediaPlayer createMediaPlayer(final Context context, final int index) {
    if (context == null || index < 0 || index >= mPlaylist.length) return null;
    MediaPlayer newPlayer = MediaPlayer.create(context, mPlaylist[index]);
    newPlayer.setOnInfoListener(new MediaPlayer.OnInfoListener() {
        @Override
        public void onInfo(MediaPlayer mp, int what, int extra) {
            if (what == MEDIA_INFO_VIDEO_RENDERING_START)
                mp.setNextMediaPlayer(createMediaPlayer(context, index + 1));
        }
    });
    newPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp) {
            mp.release();
        }
    });
    return newPlayer;
}

然后在适当的地方(例如onStart),您需要致电createMediaPlayer(yourContext, 0);