我怎样才能知道视频从视频开始在Android VideoView与URL的视频视图的实时?
我试图在视频播放期间的随机时间内弹出小吃店,我已经获得了视频持续时间加上能够运行视频。我还可以设置处理程序在视频持续时间内随机显示小吃店。我怎样才能知道视频从视频开始在Android VideoView与URL的视频视图的实时?
Uri uri2 = Uri.parse("my video link");
MediaPlayer mp = MediaPlayer.create(this, uri2);
int duration = mp.getDuration();
mp.reset();
mp.release();
mVideoView2.setVideoURI(uri2);
mVideoView2.requestFocus();
mVideoView2.start();
我只有一个问题。当我调用videoview.start()时,它不会立即启动视频,它有一些缓冲时间。我只想在视频播放期间的随机时间显示小吃店。假设视频长度为7秒,我的随机时间为3秒,缓冲时间或预加载时间为3秒,快餐栏显示在我的视频之前。有什么方法可以知道缓冲时间或视频何时准备好,以便我可以开始调用我的处理程序。
设置一个OnPreparedListener
得到通知时视频负载
videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
//play video... video is ready to play
}
});
只是调用'mVideoView2.start();''onPrepared'方法 –
如果互联网连接不好,这将不起作用。由于连接,播放器可能会再缓冲一次或多次。在那种情况下,有一个问题。 – danypata
'onPrepared'当媒体文件已准备好播放时调用,所以如果互联网连接不好,就不会有问题,因为媒体文件已经被缓冲了 –
检查:https://developer.android.com/reference/android/media/MediaPlayer.OnInfoListener.html,主要MEDIA_INFO_VIDEO_RENDERING_START
我建议检查玩家'''getCurrentPosition'''每一秒与当前位置一个处理程序,那么如果'''getCurrentPosition'''返回一个与你的随机时间相等的值,则显示吐司。注意'''getCurrentPosition''返回以毫秒为单位的时间。 – danypata