我完全迷失了。我发现代码非常简单,并且在文档中没有找到任何可以返回大数字的负数的原因。代码如下
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。我可以在此之后重现音频,所以我不知道可能是什么问题
由于
答案 0 :(得分:2)
您是否尝试在返回持续时间之前添加mediaPlayer.prepare();
?