1
我尝试构建一个应用程序,其中有一个记录功能。我希望用户能够选择记录质量,其中一个选项是AAC记录。我正在使用下面的代码,但我一直在设置audioSamplingRate错误..任何想法?Mediarecorder setParameter failed(setAudioSamplingRate)
mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setAudioSamplingRate(96000);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
和
04-29 10:32:17.477: E/MediaRecorder(18750): setParameters(audio-param-sampling-rate=96000) failed: -22
04-29 10:32:17.477: E/com.test.com.AudioRecorder(18750): setParameter failed.
04-29 10:32:17.477: E/com.test.com.AudioRecorder(18750): prepare() method called on illegal state
96 kHz是一个非常高的采样率,并不保证被支持。我建议您尝试一个共同采样率<= 48 kHz(例如48000,41001,22050,16000,8000)。 – Michael 2013-04-29 09:26:10
我试图将它设置为16000,不会返回最初的错误,但另一个..以下错误:04-29 12:15:09.989:E/MediaRecorder(23954):准备失败:-2147483648 04-29 12:15:09.989:E/com.test.com.AudioRecorder(23954):准备失败。 – 2013-04-29 10:16:12