изменение громкости записи Android - PullRequest
0 голосов
/ 30 марта 2012

Сейчас я работаю над приложением Android для записи голоса. Я сделал это с помощью следующего кода.

m_recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
    m_recorder.setOutputFormat(OutputFormat.THREE_GPP);

    m_recorder.setAudioEncoder(AudioEncoder.AMR_NB);
 // m_recorder.setAudioEncoder(MediaRecorder.getAudioSourceMax());
    m_recorder.setAudioEncodingBitRate(128);
    m_recorder.setAudioSamplingRate(44100);

    m_recorder.setOutputFile(Environment.getExternalStorageDirectory() + "/audio.3gp");
        try {
            m_recorder.prepare();
            m_recorder.start();
        } 

Но проблема в том, что я получаю звуки с низкой громкостью. Я искал в Интернете решение.

"Нет способа сделать это во время записи, но во время игры вы можно использовать метод setVolume (float, float) в MediaPlayer. "

Но я должен загрузить записанный клип на сервер. Так есть ли способ конвертировать аудиоклип низкой громкости в клип высокой громкости?

1 Ответ

0 голосов
/ 30 марта 2012

Я использовал этот код для записи и сохранения файла, и он работал для меня:

                    recorder = new MediaRecorder();
                    FileOutputStream fos = openFileOutput(fileNameStr,
                            MODE_PRIVATE);

                    recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
                    recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
                    recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
                    recorder.setOutputFile(fos.getFD());
                    recorder.prepare();
                    recorder.start();
...