我目前正在为Android编写应用程序,包括一个媒体播放器。由于我想向用户显示播放器的当前状态,我想保持当前播放的时间并更新缓冲进度。
在实现接口MediaPlayer.OnBufferingUpdate
之后,我意识到,即使在缓冲完成之后,也会每隔一秒调用一次。然后它会每秒报告100
的百分比。
我现在的问题:
是否在某处指定了此行为?我可以安全地使用MediaPlayer.OnBufferingUpdate
事件来更新我的播放时间,还是应该自己实现一个计时器以保持更新?是否还有其他可以使用的事件,即在播放时每秒钟调用一次(未在PAUSE
或FINISH
之后触发)?
我在这里找到了这个问题,LINK - Android: onBufferingUpdate() not called after reaching 100% - @ ThaMe90指向文档 - 但我不知道这里应该是什么“bug”......
答案 0 :(得分:4)
好吧,由于documentation,此方法“调用以更新缓冲中的状态”,因此当您达到100%时,缓冲状态不应再更新(这是有道理的我是对的吗?)。
不幸的是,有一种疾病,它消耗了为Android平台开发软件的过程 - OEM根据需要修改这个平台。我很确定这是其中一个例子。
我测试的是在不同的设备上调用此方法,这是我观察的结果:
嗯,它看起来像一个bug,它成为三星设备上的一个功能;)