我在android MediaPlayer的getduration()方法中遇到以下问题。例如,以下文件(文件的实际持续时间为5747000 ms):

File to test it

准备好MediaPlayer之后,我在以下代码中以log cat当前位置和getduration值进行打印:

Log.d("Podcast", "getDuration:"+mediaPlayer.getDuration());
Log.d("Podcast","getCurrentPosition:"+mediaPlayer.getCurrentPosition());


在日志猫中,我可以看到以下内容:

D/Podcast﹕ getDuration:2885642
D/Podcast﹕ getCurrentPosition:3288059


我找到了另一篇有关此信息的帖子,但没有找到解决方案。
Similar issue found on stackoverflow

这怎么可能?谁可以帮我这个事?

谢谢。问候。

最佳答案

根据此线程:https://code.google.com/p/android/issues/detail?id=2559
mp3文件的频率应为44,100 Hz。否则,MediaPlayer将按MP3的实际采样率与44,100 Hz之比来缩放时间。

09-07 21:11
查看更多