我製作了一個錄音機應用程序,並且我想在列表視圖中顯示錄製的持續時間。我保存這樣的錄音:獲取音頻文件的持續時間
MediaRecorder recorder = new MediaRecorder();
recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.DEFAULT);
folder = new File(Environment.getExternalStorageDirectory()
+ File.separator + "Audio recordings");
String[] files = folder.list();
int number = files.length + 1;
String filename = "AudioSample" + number + ".mp3";
File output = new File(Environment.getExternalStorageDirectory()
+ File.separator + "Audio recordings" + File.separator
+ filename);
FileOutputStream writer = new FileOutputStream(output);
FileDescriptor fd = writer.getFD();
recorder.setOutputFile(fd);
try {
recorder.prepare();
recorder.start();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IOException e) {
Log.e(LOG_TAG, "prepare() failed");
e.printStackTrace();
}
如何獲得此文件的持續時間(秒)?
在此先感謝
---編輯 我得到它的工作,我叫MediaPlayer.getduration()的MediaPlayer.setOnPreparedListener內()方法,因此返回0。
試過毫秒轉換爲人類可讀的格式,但它總是出於某種原因 – Simon 2013-03-13 19:33:22
返回0沒關係我得到它的工作!我在MediaPlayer.setOnPreparedListener方法中調用MediaPlayer.getDuration(),並返回0 – Simon 2013-03-13 19:47:43