#java #android #audio
#java #Android #Аудио
Вопрос:
Я пытаюсь сохранить и воспроизвести аудиофайл. Сохранение выглядит так, как будто оно работает нормально, но у меня проблема с воспроизведением этого файла.
Это то, что я пробовал:
// Save the audio
try (OutputStream out = new FileOutputStream(getFilesDir() "/output.mp3")) {
System.out.println(getFilesDir());
out.write(audioContents.toByteArray());
System.out.println("Audio content written to file "output.mp3"");
}
// Play the audio
String path = getFilesDir() "/output.mp3";
MediaRecorder recorder = new MediaRecorder();
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(path);
recorder.prepare();
recorder.start();
И это то, что я получаю:
I/System.out: /data/user/0/ch.yourclick.kitt/файлы Аудиоконтент, записанный в файл «output.mp3» С System.err: java.lang.RuntimeException: сбой setAudioSource. W/System.err: на android.media.MediaRecorder.setAudioSource(собственный метод)
Как я могу просто воспроизвести этот аудиофайл?
Комментарии:
1. Вы забыли out.close();
2.
recorder.setOutputFile(path);
Не знаю… но если вы хотите воспроизвести файл, я бы подумал, что вам понадобится входной файл, например:recorder.setInputFile(path);
3. @blackapps если я добавлю его, Android Studio сообщит мне избыточное ‘close ()’ . И этот метод
setInputFile()
не существует вMediaRecorder
.4. Тогда вам лучше послушать меня в Android Studio. Закройте его.
5.
OutputStream out
Почему бы и нетFileOutputStream out
?