2
我完全迷失了。我发现代码非常简单,并且没有在文档中找到任何理由为什么会返回一个很大的负数。代码如下MediaPlayer getDuration返回-1412558917
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。我能够在这之后重现声音,所以我不知道可能是什么问题
感谢
现在我觉得哑巴了。我能够这样解决它。你有任何我可以阅读的链接,以更好地理解为什么这是必要的吗?谢谢! –
随时:)记得标记答案为接受,如果它为你工作。 您可以在这里阅读更多关于Mediaplayer - https://developer.android.com/reference/android/media/MediaPlayer.html –