MediaPlayer.getCurrentPosition()返回2048的倍数而不是当前位置

时间:2014-05-13 17:55:00

标签: android android-mediaplayer

我的应用程序使用MediaPlayer类播放一些声音样本,我有一个Seekbar来跟踪播放进度。在我的所有测试手机上,只有1,一切正常。但是,在 Sony Xperia 上,我遇到了进度跟踪的奇怪错误。音频播放效果很好,但是当我尝试MediaPlayer.getCurrentPosition()时,我只获得2048的增量。

例如,在LG G2(运行Android 4.4.2)上,我看到如下值:

0, 213, 279, 348, 416, ... 

允许我相应地更新SeekBar。但是,在索尼Xperia(也运行Android 4.4.2)上,我总是得到这些值:

0, 0, 0, ... , 2048, 2048, 2048, ... , 4096, 4096, ... , 6144, 6144, ...

音频播放工作正常,但我的进度条以2秒的增量跳跃。我宁愿不必实现另一个计时系统,因为现有的架构适用于除Xperia之外的所有架构。由于G2在4.4.2上运行良好,我认为我可以排除Android版本的问题。

有没有人在Sony Xperia或其他设备上看到此问题?这个问题很容易解决吗?

0 个答案:

没有答案