关于这一点我很惭愧,研究了两个小时各种方法几乎都用到了,可是半毛钱的作用也没有起。
也就是说,我们要实现的播放顺序是1-2-3-4-5-1-2-3-4-5-1-2-3-4-5-1-2-3-4-5.......
直接上代码了:
最后,静下心来想了想突然醒悟了,看源码多么强大的领悟。于是乎顺藤摸瓜我便很快解决了问题,顺利完成了循环播放视频。
也就是说,我们要实现的播放顺序是1-2-3-4-5-1-2-3-4-5-1-2-3-4-5-1-2-3-4-5.......
直接上代码了:
- package com.hangcheng;
- import com.example.bdcustomer_demo.R;
- import com.hangcheng.view.MyVideoView;
- import android.app.Activity;
- import android.media.MediaPlayer;
- import android.os.Bundle;
- import android.view.Window;
- public class VideoActivity extends Activity {
- private MyVideoView myVideoView;
- private String videoUrl[4] ={"/mnt/sdcard/Movies/1","/mnt/sdcard/Movies/2","/mnt/sdcard/Movies/3","/mnt/sdcard/Movies/4"};
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- requestWindowFeature(Window.FEATURE_NO_TITLE);
- setContentView(R.layout.video);
- initView();
- playVideo();
- }
- private void initView() {
- mVideo= (MyVideoView) findViewById(R.id.video);
- }
- private void playVideo() {
mVideo.setVideoPath(videoUrl[0]);
mVideo.start(); //播放第一个视频
mVideo.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
playVideo2();
}
});
}
private void playVideo2() {
mVideo.setVideoPath(videoUr2);
mVideo.start();
mVideo.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
playVideo3();
}
});
}
private void playVideo3() {
mVideo.setVideoPath(videoUr3);
mVideo.start();
mVideo.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
playVideo4();
}
});
}
private void playVideo4() {
mVideo.setVideoPath(videoUr4);
mVideo.start();
mVideo.setOnCompletionListener(new OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
playVideo();
}
});
}
}
- 哈哈,在寻求了两小时简单答案无果之后,鄙人就想出来这么一个很low的方法实现了此功能。