我正在使用Android媒体播放器在我的应用程序中播放视频。我希望在实际播放5秒后显示一个按钮来跳过视频。最初我在5s"中显示"跳过视频。然后,当播放器继续播放视频时,它将继续使用"更新按钮文本。在4s"中跳过视频等等,每一秒。最后它将显示" Skip Video"。
我不知道如何每秒播放一次回调。因为我不更新按钮文本,当播放器正在缓冲或播放器暂停时。
到目前为止,我已尝试过:
public void onBufferingUpdate(MediaPlayer mp, int percent) {
// TODO Auto-generated method stub
updateSkipButtonUI();
}
但是当我在某些设备上测试时,onBufferingUpdate方法会在播放器播放视频时每秒调用一次。 但是在某些设备上,一旦缓冲百分比达到100%,它就不会被调用。
我也试过
mMediaPlayer.setOnInfoListener(this);
@Override
public boolean onInfo(MediaPlayer mp, int what, int extra) {
// TODO Auto-generated method stub
if(what == MediaPlayer.MEDIA_INFO_BUFFERING_START)
{
//Player started buffering. Player internally pauses .
stopTimerToUpdateSkipButton();
}
else if(what == MediaPlayer.MEDIA_INFO_BUFFERING_END)
{
// Buffering has ended . Content is ready to play.
startTimerToUpdateSkipButton();
}
return what == MediaPlayer.MEDIA_INFO_BUFFERING_START || what == MediaPlayer.MEDIA_INFO_BUFFERING_END;
}
但有时会调用OnInfo方法。有时它不会被调用。
我不知道还有什么可以尝试的。请帮忙。