我在使用 android MediaPlayer 的 getduration() 方法时遇到以下问题。例如以下文件(文件的实际持续时间为 5747000 毫秒):
MediaPlayer 准备好后,我在以下代码中打印 log cat 当前位置和 getduration 值:
Log.d("Podcast", "getDuration:"+mediaPlayer.getDuration());
Log.d("Podcast","getCurrentPosition:"+mediaPlayer.getCurrentPosition());
在 log cat 中我可以看到以下内容:
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 的比率缩放时间。
关于安卓。 MediaPlayer 的 getduration() 方法返回错误值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31706191/