我创建了 AudioMeter 类,并在其承包商中编写了以下代码:
public AudioMeter(){
channel_config = AudioFormat.CHANNEL_CONFIGURATION_STEREO;//And also Mono
format = AudioFormat.ENCODING_PCM_16BIT;
sampleRate = AudioTrack.getNativeOutputSampleRate(AudioManager.STREAM_SYSTEM); //8000
bufferSize = AudioRecord.getMinBufferSize(sampleRate, channel_config, format);
recorder = new AudioRecord(MediaRecorder.AudioSource.MIC, sampleRate, channel_config, format, bufferSize);
audioBuffer = new short[bufferSize];
Log.i("AudioMeter", "Created successfully.");
}
但是当我运行模拟器时它说
01-29 03:47:07.418: E/AudioRecord(432): 不支持的配置:sampleRate 44100,格式 1,channelCount 2"
我已将“音频录制支持
”和“音频播放支持
”添加到模拟器中。
任何帮助将不胜感激,因为我已经研究这段代码一段时间了!
最佳答案
模拟器不支持 CHANNEL_CONFIGURATION_STEREO & SampleRate = (11025、16000、22050 和 44100),如果你想成功运行,请使用 CHANNEL_CONFIGURATION_MONO & SampleRate =8000(仅支持每秒 8000 个样本)。
关于Android,如何初始化录音机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9048076/