我正在开发一个从URL播放视频的应用程序,以控制视频我还添加了mediacontroller。
我想要无限循环播放视频,所以我将以下代码添加到媒体播放器
`mp.setLooping(true);`
内部
videoview.setOnPreparedListener
方法
但setLoop(true)
方法不适用于jellybean和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();
}
});
}
答案 0 :(得分:0)
我在下面的代码的帮助下解决了我的问题,现在它在Android jellybean& Android Kitkat也
我只需要在视频完成后调用简历方法。
这是我的代码
videoview.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp)
{
Log.d(TAG,"onCompletion");
videoview.resume();
}
});