我在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之比来缩放时间。