Android 手动创建视频播放列表(不是从sd卡)

Android 手动创建视频播放列表(不是从sd卡),android,android-listview,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,

有人知道如何在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中播放所有这些视频


谢谢

视频是否在SD卡上无关紧要。如果SD卡上有视频,您会如何显示视频列表?如果你有这个问题的答案,那么就做完全相同的事情,除了你的apk居民视频

参考此问题了解如何显示视频的缩略图:

然后播放用户选择的视频

你看过Android开发者的页面了吗。你可以用

create(Context context, int resid)
方法为您的资源创建MediaPlayer。及

start()
方法启动第一个媒体,之后您还可以使用

setNextMediaPlayer(MediaPlayer next)
要通过为其创建新的MediaPlayer来播放下一个资源,您不应该像前面的评论中所说的那样“制作大量新的MediaPlayer”。你应该有两个,一个在玩,另一个在玩,这样它可以提前准备

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

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;
}
private int[]mPlaylist=new int[]{/*您的原始资源ID*/};
私有MediaPlayer createMediaPlayer(最终上下文上下文,最终整数索引){
if(context==null | | index<0 | | index>=mPlaylist.length)返回null;
MediaPlayer newPlayer=MediaPlayer.create(上下文,mPlaylist[index]);
newPlayer.setOnInfoListener(newMediaPlayer.OnInfoListener(){
@凌驾
公共无效onInfo(MediaPlayer mp,int what,int extra){
if(what==媒体信息视频渲染开始)
mp.setNextMediaPlayer(createMediaPlayer(上下文,索引+1));
}
});
newPlayer.setOnCompletionListener(newMediaPlayer.OnCompletionListener()){
@凌驾
完成时的公共作废(MediaPlayer mp){
mp.release();
}
});
返回新玩家;
}

然后在适当的地方(如
onStart
),您需要调用
createMediaPlayer(您的上下文,0)

谢谢你的回答,但是如果我有很多视频,那么我必须制作很多新的媒体播放器?有什么方法可以让它变得简单吗?我没怎么用MediaPlayer,所以我真的不知道。我以前只用过一个文件。但是有一个selectTrack()方法,所以我认为可能有一种方法可以只使用MediaPLlayer来实现。你知道如何将所有曲目URI放入一个列表,并将它们作为单曲播放吗?谢谢你的回答,我不需要显示视频的缩略图。你不需要“很多”视频播放器。你只需要一个视频播放器。如果你不需要缩略图,那就更容易了。只需在视频播放器中播放视频即可!:)对不起,我是android的初学者。你能给我一个例子(代码)请。我需要按顺序播放视频没有点击下一步按钮或其他。感谢您在视频结束时提醒未完成的侦听器,然后播放下一个。