VideoView实现视频无缝连续播放
该视频播放器采用了较为简单的videoview,基本思想就是用setOnCompletionListener对视频播进行监听,当视频播放完毕之后,播放下一段视频,视频源放在SD卡内的Download文件夹内,具体代码如下:
publicclassMainActivityextendsActivity{
VideoViewvideoView;
staticintpos=1;//静态整型变量用于标记播放到了第几段视频
MediaControllermController;
@Override
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
getWindow().setFormat(PixelFormat.TRANSLUCENT);
setContentView(R.layout.activity_main);
videoView=(VideoView)findViewById(R.id.video);
mController=newMediaController(this);
Filevideo=newFile("/mnt/sdcard/Download/video"+pos+".mp4");
if(video.exists())
{
videoView.setVideoPath(video.getAbsolutePath());
/*videoView.setMediaController(mController);
mController.setMediaPlayer(videoView);*/
videoView.requestFocus();
videoView.start();
}
videoView.setOnCompletionListener(newOnCompletionListener(){
@Override
publicvoidonCompletion(MediaPlayermp){
//TODOAuto-generatedmethodstub
pos=pos+1;//在这里将视频地址变为下一个
Filevideo2=newFile("/mnt/sdcard/Download/video"+pos+".mp4");
if(video2.exists())
{
try{
videoView.setVideoPath(video2.getAbsolutePath());
/*videoView.setMediaController(mController);
mController.setMediaPlayer(videoView);*/
videoView.requestFocus();
videoView.start();
}catch(Exceptione){
e.printStackTrace();
}
}
else
{Toast.makeText(MainActivity.this,"视频播放完毕",Toast.LENGTH_SHORT).show();}
}
});
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。