Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 播放时是否每秒调用OnBufferingUpdate事件?_Android_Android Mediaplayer - Fatal编程技术网

Android 播放时是否每秒调用OnBufferingUpdate事件?

Android 播放时是否每秒调用OnBufferingUpdate事件?,android,android-mediaplayer,Android,Android Mediaplayer,我目前正在为Android编写一个应用程序,包括一个媒体播放器。因为我想向用户显示播放器的当前状态,所以我想保持当前播放的时间和缓冲进度的更新 在实现了MediaPlayer.OnBufferingUpdate接口之后,我意识到,即使在缓冲完成之后,也会每秒调用这个接口。然后,它每秒报告100的百分比 我现在的问题是: 这种行为是在什么地方指定的吗?我是否可以安全地使用MediaPlayer.OnBufferingUpdate事件来更新我的播放时间,或者我是否应该实现自己的计时器来更新播放时间?

我目前正在为Android编写一个应用程序,包括一个媒体播放器。因为我想向用户显示播放器的当前状态,所以我想保持当前播放的时间和缓冲进度的更新

在实现了MediaPlayer.OnBufferingUpdate接口之后,我意识到,即使在缓冲完成之后,也会每秒调用这个接口。然后,它每秒报告
100
的百分比

我现在的问题是:

这种行为是在什么地方指定的吗?我是否可以安全地使用
MediaPlayer.OnBufferingUpdate
事件来更新我的播放时间,或者我是否应该实现自己的计时器来更新播放时间?我是否可以使用另一个事件,即播放时每秒调用一次(在
PAUSE
FINISH
之后未触发)

我在这里发现了这个问题,LINK-@ThaMe90指向文档的地方-但我不知道这里应该是什么“bug”…

好吧,因为,这个方法是“调用以更新缓冲中的状态”,所以当你达到100%时,缓冲状态不应该再更新了(这很有意义,我说的对吗?)

不幸的是,有一种疾病消耗了Android平台软件的开发过程——原始设备制造商根据自己的需要修改了这个平台。我敢肯定这就是其中的一个例子

我已经在不同的设备上测试了这种方法,下面是我观察的结果:

  • 在所有三星设备上达到100%后调用onBufferingUpdate方法
  • 在所有Moto G上达到100%后,不再调用onBufferingUpdate方法,这稍微修改了Android
嗯,这看起来像一个bug,它成为了三星设备的一个功能;)

好的,由于此方法是“调用来更新缓冲中的状态”
,所以当您达到100%时,缓冲状态不应该再更新了(这很有意义,我说的对吗?)

不幸的是,有一种疾病消耗了Android平台软件的开发过程——原始设备制造商根据自己的需要修改了这个平台。我敢肯定这就是其中的一个例子

我已经在不同的设备上测试了这种方法,下面是我观察的结果:

  • 在所有三星设备上达到100%后调用onBufferingUpdate方法
  • 在所有Moto G上达到100%后,不再调用onBufferingUpdate方法,这稍微修改了Android
嗯,这看起来像一个bug,它成为了三星设备的一个功能;)


好的,我至少现在知道,当它是本地资源()时不会调用它……好的,我至少现在知道,当它是本地资源()时不会调用它。。。