[英]force close an activity in kitkat & lollipop but work in jellybean?
[英]setLooping(true) is not working in jellybean and kitkat
我正在开发一个从URL播放视频的应用程序,以控制视频,我还添加了mediacontroller。
我希望视频以无休止的循环播放,所以我在媒体播放器中添加了以下代码
`mp.setLooping(true);`
内部videoview.setOnPreparedListener
方法
但是setLoop(true)
方法在豆形软糖和kitkat设备中不起作用。 它适用于Android M及更高版本。 我没有在android L中调试,因为我还没有模拟器。
我还浏览了MediaPlayer文档,他们提到在API 1中添加了setLooping(true)
,但在android K和J中不起作用
帮助我解决以上问题
下面是我的完整代码
public void videoStup(final ProgressBar pb, final VideoView videoview)
{
pb.setVisibility(View.VISIBLE);
try
{
MediaController mediacontroller = new MediaController(this);
mediacontroller.setAnchorView(this.videoview);
mediacontroller.setBackgroundResource(R.color.white);
//mediacontroller.setVisibility(View.GONE);
Uri video = Uri.parse(VideoURL);
videoview.setMediaController(mediacontroller);
videoview.setVideoURI(video);
videoview.seekTo(100);
} catch (Exception e)
{
Log.e(TAG, "error = "+e.getMessage());
//e.printStackTrace();
}
videoview.requestFocus();
videoview.setOnPreparedListener(new OnPreparedListener() {
public void onPrepared(MediaPlayer mp) {
mp.setLooping(true);
pb.setVisibility(View.GONE);
videoview.start();
}
});
}
我通过以下代码解决了我的问题,现在它也可以在Android jellybean和Android Kitkat中使用
我唯一需要做的就是在视频播放完成后调用恢复方法。
这是我的代码
videoview.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp)
{
Log.d(TAG,"onCompletion");
videoview.resume();
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.