Holen Sie sich die Dauer der audio-Datei

Habe ich eine voice-recorder-app, und ich möchte, um zu zeigen, die Dauer der Aufnahmen in einem listview. Ich Speichere die Aufnahmen wie diese:

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();
    }

Wie kann ich die Dauer in Sekunden, die von dieser Datei?

Vielen Dank im Voraus

---EDIT
Ich habe es funktioniert, ich rief MediaPlayer.getduration() in den MediaPlayer.setOnPreparedListener () - Methode, so dass es zurückgegeben 0.

InformationsquelleAutor Simon | 2013-03-13

Schreibe einen Kommentar