【发布时间】:2013-04-29 08:43:02
【问题描述】:
我尝试构建一个包含录制功能的应用程序。我希望用户能够选择录制质量,其中一个选项是 AAC 录制。我正在使用下面的代码,但在设置 audioSamplingRate 时一直出错。有什么想法吗?
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 是一个非常高的采样率,不保证支持。我建议您尝试使用
-
我尝试将其设置为 16000,不返回初始错误,而是返回另一个.. 以下错误:04-29 12:15:09.989: E/MediaRecorder(23954): prepare failed : -2147483648 04-29 12:15:09.989: E/com.test.com.AudioRecorder(23954): 准备失败。
标签: android audio parameters mediarecorder sampling