Я работаю над чем-то похожим и сталкиваюсь с той же проблемой.
Я могу воспроизвести поток, но у меня возникают проблемы с записью, я предполагаю, что мне нужно читать поток побитно исохранить его в файл.До сих пор это был мой подход к записи.
PS Не забывайте разрешения при записи.
private void startRecording() {
String fileName = Environment.getExternalStorageDirectory().getAbsolutePath();
fileName += "/FM-Recording-"+recordFile;
mRecorder = new MediaRecorder();
//mRecorder.setAudioSource(mediaPlayer.getAudioSessionID());
mRecorder.setAudioSource(MediaRecorder.AudioSource.DEFAULT);
mRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mRecorder.setOutputFile(fileName);
mRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
try {
mRecorder.prepare();
} catch (IOException e) {
Log.e(LOG_TAG, "prepare() failed "+e.toString());
}
mRecorder.start();
}
private class RecorderThread extends Thread {
public void go(){
runOnUiThread (new Thread(new Runnable() {
public void run() {
isRecording = true;
startRecording();
}
}));
}
}
Вот макет: Макет приложения