1

我尝试使用如下所示的录音机方法录制声音,在某些设备上很好,但在其他设备上它只是第一次工作,当我想再次使用时它会抛出Error code -20 when initializing native AudioRecord object什么问题?

final int RECORDER_BPP = 16;
int RECORDER_SAMPLERATE = 16000;
int RECORDER_CHANNELS = AudioFormat.CHANNEL_IN_MONO;
int RECORDER_AUDIO_ENCODING = AudioFormat.ENCODING_PCM_16BIT;
int bufferSizeInBytes = AudioRecord
        .getMinBufferSize(RECORDER_SAMPLERATE, RECORDER_CHANNELS,
                RECORDER_AUDIO_ENCODING);
// Initialize Audio Recorder.
AudioRecord audioRecorder = new AudioRecord(
        MediaRecorder.AudioSource.MIC, RECORDER_SAMPLERATE,
        RECORDER_CHANNELS, RECORDER_AUDIO_ENCODING, bufferSizeInBytes);

audioRecorder.startRecording();
4

1 回答 1

0

只是一个猜测,但也许你在完成之后并没有调用 audioRecorder.release() 。如果是这样,那么它可能第一次工作,但之后您可能会不必要地保留音频资源,并且在您重新启动手机之前它可能无法工作。

于 2013-10-23T06:39:22.593 回答