3 回答
TA贡献1993条经验 获得超5个赞
请使用“setOnCompletionListener”,并在完成视频后再次开始视频。
VideoView videoView;
MediaController controller;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
videoView=findViewById(R.id.videoView);
controller=new MediaController(this);
videoView.setMediaController(controller);
videoView.setVideoPath("http://strecker.co.za/ad_system/videos/video1.mp4");
videoView.start();
videoView.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
videoView.start();
}
});
}
}
TA贡献1859条经验 获得超6个赞
尝试这个:
videoView.setOnPreparedListener(new OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mp.setLooping(true);
}
});
TA贡献1772条经验 获得超8个赞
我不是 android 专家,但我建议在videoView.start()
.
如果有一个方法可以确定视频是否已完成或当前正在运行,则这可能是再次调用VideoView
该方法的条件。start()
否则你可以看看start()
视频正在播放时打电话是否有效果?是否抛出异常等?如果没有,您可以每秒调用一次以在视频结束后重播视频。
如果所有其他方法都失败,您可以在视频播放期间start()
致电。Thread.sleep()
如果VideoView
有一个方法可以返回视频的长度,您可以使用它,否则对该值进行硬编码。
添加回答
举报