Я сделал приложение для диктофона, и я хочу показать продолжительность записей в списке. Я сохраняю записи следующим образом:получить продолжительность аудиофайла
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();
}
Как я могу получить продолжительность в секундах этого файла?
Заранее спасибо
--- EDIT я получил это работает, я назвал MediaPlayer.getduration() внутри MediaPlayer.setOnPreparedListener() метод, так что возвращается 0.
Пытался что, но она всегда возвращает 0 для какой-то причины – Simon
Не важно, что я получил работу! Я вызвал MediaPlayer.getDuration() в методе MediaPlayer.setOnPreparedListener и чем он возвращает 0 – Simon