2017-03-07 67 views
0

我试图在视频播放期间的随机时间内弹出小吃店,我已经获得了视频持续时间加上能够运行视频。我还可以设置处理程序在视频持续时间内随机显示小吃店。我怎样才能知道视频从视频开始在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秒,快餐栏显示在我的视频之前。有什么方法可以知道缓冲时间或视频何时准备好,以便我可以开始调用我的处理程序。

+0

我建议检查玩家'''getCurrentPosition'''每一秒与当前位置一个处理程序,那么如果'''getCurrentPosition'''返回一个与你的随机时间相等的值,则显示吐司。注意'''getCurrentPosition''返回以毫秒为单位的时间。 – danypata

回答

0

设置一个OnPreparedListener得到通知时视频负载

videoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 
     @Override 
     public void onPrepared(MediaPlayer mp) { 
      //play video... video is ready to play 
     } 
    }); 
+1

只是调用'mVideoView2.start();''onPrepared'方法 –

+0

如果互联网连接不好,这将不起作用。由于连接,播放器可能会再缓冲一次或多次。在那种情况下,有一个问题。 – danypata

+0

'onPrepared'当媒体文件已准备好播放时调用,所以如果互联网连接不好,就不会有问题,因为媒体文件已经被缓冲了 –

相关问题