Однако мое приложение не могло записывать в Samsung Galaxy S 2 с микрофона, оно записывалось на других телефонах с микрофона.
Recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
Recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
Recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
В моем коде я выбираю тип источника от 0 до 4, выбираю тип кодировщика как amr-nb, amr-wb, aac или default, выбираю тип выходного формата как .3gp, .mp4 или .amr, а также выбираю аудиоканал. как 1 или 2. Я пробую все комбинации, которые вышли. По крайней мере, одна из комбинаций работает на многих телефонах. Но ни один из них не мог работать в Samsung Galaxy S 2. Он записывает файл и продолжительность записи верна, но голос - только тишина!
Изучая эту проблему в Интернете, я обнаружил, что она может быть получена из типа микрофона. Хотя в моем коде я выбираю тип источника звука по умолчанию, микрофон, голосовой нисходящий канал, голосовой восходящий канал, голосовой вызов, это не могло работать. Затем я установил тип источника звука на 0, 1, 2, 3, 4 вместо MediaRecorder.AudioSource.MIC и т. Д. Но он также не мог работать ...