Проблемы с установкой класса аудио источника MediaRecorder - setAudioSource () - неподдерживаемый параметр

Я новичок в разработке Android, и у меня есть следующий вопрос / проблема.

Я играю с классом MediaRecorder, чтобы записывать только звук с микрофона. Я следую инструкциям, указанным на официальном сайте:http://developer.android.com/reference/android/media/MediaRecorder.html

Итак, у меня есть метод, который инициализирует и настраивает объект MediaRecorder, чтобы начать запись. Здесь у вас есть код:


        this.mr = new MediaRecorder();
        this.mr.setAudioSource(MediaRecorder.AudioSource.MIC);
        this.mr.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
        this.mr.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
        this.mr.setOutputFile(this.path + this.fileName);
        try {
            this.mr.prepare();
        } catch (IllegalStateException e) {
            Log.d("Syso", e.toString());
            e.printStackTrace();
        } catch (IOException e) {
            Log.d("Syso", e.toString());
            e.printStackTrace();
        }

Когда я выполняю этот код в симуляторе, благодаря logcat, я вижу, что метод setAudioSource (MediaRecorder.AudioSource.MIC) выдает следующую ошибку (с тегом audio_ipunt) при его вызове:


ERROR/audio_input(34): unsupported parameter: x-pvmf/media-input-node/cap-config-interface;valtype=key_specific_value
ERROR/audio_input(34): VerifyAndSetParameter failed

И затем, когда вызывается метод prepare (), я снова получаю еще одну ошибку:


ERROR/PVOMXEncNode(34): PVMFOMXEncNode-Audio_AMRNB::DoPrepare(): Got Component OMX.PV.amrencnb handle 

Если я начинаю запись, вызывая метод start () ... я получаю много сообщений, говорящих:


AudioFlinger(34):RecordThread: buffer overflow

Затем ... после остановки и выпуска ... Я вижу, что файл был создан, но не похоже, что он был хорошо записан. В любом случае, если я попробую это на реальном устройстве, я могу записать без проблем, но я не смогу воспроизвести то, что только что записал.

Я предполагаю, что ключ к этим ошибкам, которые я упоминал ранее. Как я могу их исправить? Любое предложение или помощь?

Ответы на вопрос(1)

Ваш ответ на вопрос