我有这个视频应用:
public class MainActivity extends Activity {
int i = 0;
List<String> videoPathes = new ArrayList<String>();
private VideoView videoview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
videoview = (VideoView) findViewById(R.id.videoView_video);
videoPathes.add(Environment.getExternalStorageDirectory().getAbsolutePath()+"/intros/intro1.mp4");
videoPathes.add(Environment.getExternalStorageDirectory().getAbsolutePath()+"/intros/intro2.mp4");
videoPathes.add(Environment.getExternalStorageDirectory().getAbsolutePath()+"/intros/intro3.mp4");
videoview.setVideoPath(videoPathes.get(i));
videoview.start();
videoview.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(final MediaPlayer mp){
i = (i + 1) % videoPathes.size();
videoview.setVideoPath(videoPathes.get(i));
videoview.start();
}
});
}
}
当应用开始运行第一个视频(“intro1.mp4”)时。该应用有20个视频。我需要的是,当我打开应用程序时,它开始播放随机视频。
示例:
立即
应用程序以第一个视频开头:“intro1.mp4”然后继续“intro2.mp4”和&gt;“intro3.mp4”。 (等...)
我需要
从随机视频开始:“intro2.mp4”,“intro3.mp4”,“intro1.mp4”
第二次:“intro1.mp4”,“intro2.mp4”,“intro3.mp4”
下次:“intro3.mp4”,“intro1.mp4”,“intro2.mp4”
(等...)
所以,从任何视频(intro11.mp4)开始,继续下一个(intro12.mp4),然后是下一个(intro13.mp4),然后是下一个(intro14.mp4)。
这可以用我的应用程序吗?
感谢您的支持。
答案 0 :(得分:1)
最简单的方法是创建订单随机的视频列表。 没有编译代码:
List randomList = new ArrayList();
Random random = new Random();
int pathsCount = videoPathes.size();
for (int i = 0; i < pathsCount; i++){
int randomPathIndex = random.nextInt(videoPathes.size();
String path = videoPathes.get(randomPathIndex));
videoPathes.remove(randomPathIndex);
randomList.add(path);
}
我认为这应该有效:)