Android 为什么对于.ogg格式的媒体播放器getCurrentPosition()每秒只更新一次,而对于mp3格式的媒体播放器getCurrentPosition()每秒更新一次
我正在使用媒体播放器,我需要每隔50毫秒查询一次当前位置,但是,如果我播放Android 为什么对于.ogg格式的媒体播放器getCurrentPosition()每秒只更新一次,而对于mp3格式的媒体播放器getCurrentPosition()每秒更新一次,android,mp3,media-player,ogg,Android,Mp3,Media Player,Ogg,我正在使用媒体播放器,我需要每隔50毫秒查询一次当前位置,但是,如果我播放.ogg格式,则getCurrentPosition似乎每秒只更新一次左右。以下是日志摘录: 05-16 13:29:28.551 9275-9275/com.some.app D/highlight﹕ Current position is: 0 05-16 13:29:28.603 9275-9275/com.some.app D/highlight﹕ Current position is: 1014 0
.ogg
格式,则getCurrentPosition
似乎每秒只更新一次左右。以下是日志摘录:
05-16 13:29:28.551 9275-9275/com.some.app D/highlight﹕ Current position is: 0
05-16 13:29:28.603 9275-9275/com.some.app D/highlight﹕ Current position is: 1014
05-16 13:29:28.651 9275-9275/com.some.app D/highlight﹕ Current position is: 1014
05-16 13:29:28.703 9275-9275/com.some.app D/highlight﹕ Current position is: 1014
...
05-16 13:29:29.343 9275-9275/com.some.app D/highlight﹕ Current position is: 1014
05-16 13:29:29.391 9275-9275/com.some.app D/highlight﹕ Current position is: 1014
05-16 13:29:29.443 9275-9275/com.some.app D/highlight﹕ Current position is: 1014
05-16 13:29:29.491 9275-9275/com.some.app D/highlight﹕ Current position is: 1014
05-16 13:29:29.543 9275-9275/com.some.app D/highlight﹕ Current position is: 2033
05-16 13:29:29.595 9275-9275/com.some.app D/highlight﹕ Current position is: 2033
05-16 13:29:29.643 9275-9275/com.some.app D/highlight﹕ Current position is: 2033
...
05-16 13:29:30.555 9275-9275/com.some.app D/highlight﹕ Current position is: 3037
05-16 13:29:30.623 9275-9275/com.some.app D/highlight﹕ Current position
但是,当我使用.mp3
格式时,位置大约每20毫秒更新一次,这对我很有用:
05-17 05:45:04.459 5132-5144/com.some.app D/highlight 104
05-17 05:45:04.475 5132-5144/com.some.app D/highlight 104
05-17 05:45:04.479 5132-5144/com.some.app D/highlight 104
05-17 05:45:04.491 5132-5144/com.some.app D/highlight 131
05-17 05:45:04.499 5132-5144/com.some.app D/highlight 131
05-17 05:45:04.511 5132-5144/com.some.app D/highlight 131
05-17 05:45:04.519 5132-5144/com.some.app D/highlight 157
05-17 05:45:04.535 5132-5144/com.some.app D/highlight 157
05-17 05:45:04.539 5132-5144/com.some.app D/highlight 157
05-17 05:45:04.555 5132-5144/com.some.app D/highlight 157
05-17 05:45:04.559 5132-5144/com.some.app D/highlight 183
05-17 05:45:04.575 5132-5144/com.some.app D/highlight 183
05-17 05:45:04.579 5132-5144/com.some.app D/highlight 183
05-17 05:45:04.595 5132-5144/com.some.app D/highlight 183
我现在打算使用
mp3
,但我想知道为什么会有不同,如果我需要使用.ogg
我怎么才能获得相同的udpate率?我感觉这与缓冲区在较低级别上被刷新有关。如果您正在播放音频,可以尝试@pathfinderelite,谢谢,我播放.ogg
格式。音频曲目仅支持PCM,因此在播放之前,我需要将.ogg
转换为PCM
。那是额外的工作。但如果没有人提出更好的建议,那也许这是唯一的办法solution@pathfinderelite,我已经找到了问题的原因,请参阅我的更新,但是现在出现了不同的问题。我不知道为什么行为会有差异。不过,这也可能因Android操作系统版本而异,因此我会非常小心地避免依赖频繁的位置更新。@commonware,谢谢!我正在尝试实现中描述的功能,因此我需要每50毫秒更新一次时间。您是否认为保持自己的currentPosition
变量,在播放开始时将其设置为媒体播放器的当前位置,然后在我的looper代码中更新它是一种更好、可行的方法?