Я записываю аудио через MediaRecorder , и проблема в том, что:
, когда я использую кодировщик AMR_NB , getDuration () возвращает правильное значение, но с другой стороныкогда я использую кодировщик AAC , он дает увеличенное значение getDuration (т.е., если я записываю 5-секундную аудиозапись, он дает 40-секундную и воспроизводится в течение 40-секундной записи)
код для записи аудиофайла
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
recorder.setOutputFile(filePath);
recorder.prepare();
recorder.start();
код для воспроизведения записанного звука:
mp.setDataSource(audioPath);
mp.prepare();
Log.e("duration of record"," " +mp.getDuration());
mp.start();
Может дать некоторые рекомендации .. спасибо ..