MediaPlayer getDuration返回-1412558917

时间:2017-09-28 12:29:44

标签: android android-mediaplayer

我完全迷失了。我发现代码非常简单,并且在文档中没有找到任何可以返回大数字的负数的原因。代码如下

private int getDuration(String audioPath) throws Exception {
   mediaPlayer = new MediaPlayer(); // This variable was created globally
   mediaPlayer.setDataSource(audioPath);
   return mediaPlayer.getDuration(); // Here it returns -1412558917 in every audio file i record, no matter if it's 3 seconds long or 8

}

我认为记录它并不重要,但如果我弄错了,我会添加代码。我保存文件的格式是3gp。我可以在此之后重现音频,所以我不知道可能是什么问题

由于

1 个答案:

答案 0 :(得分:2)

您是否尝试在返回持续时间之前添加mediaPlayer.prepare();