Audio 关于录音采样率

Audio 关于录音采样率,audio,record,sampling,rate,Audio,Record,Sampling,Rate,我们希望通过AudioRecord录制立体声音频信号,如下所示。 如果我们将采样率设置为44100,是否都录制了立体声通道 44100Hz还是22050Hz 根据我们的实现,似乎对每个通道应用了一半的采样频率 AudioRecord audioInputStream = new AudioRecord(Media.Recorder.CAMCORDER, sampleRate, AudioFormat.CHANNEL_IN_STEREO, AudioFormat.ENCODING_PCM_16BI

我们希望通过AudioRecord录制立体声音频信号,如下所示。 如果我们将采样率设置为44100,是否都录制了立体声通道 44100Hz还是22050Hz

根据我们的实现,似乎对每个通道应用了一半的采样频率

AudioRecord audioInputStream = new AudioRecord(Media.Recorder.CAMCORDER,
sampleRate, AudioFormat.CHANNEL_IN_STEREO, AudioFormat.ENCODING_PCM_16BIT,
samplesPerBuffer * bytesPerSample)

无论通道数多少,采样率都是恒定的。因此,在44.1k的条件下,一个通道每秒可获得44100个总样本,而在两个通道中,每秒可获得88200个总样本

我真的不知道您正在使用的API,但我可以指出术语中可能出现的一个方面。这是样本和帧之间的差异。通常,你认为一个样本是一个单一的值,一个包含每个通道的单个样本的框架。因此,如果您遇到任何类似这样的API:
process(double*samples,int numChannels,int numFrames)
请注意缓冲区中的实际采样数是
numChannels*numFrames
。如果误解了这一点,肯定会消耗掉你预期数量的一半。此外,一些API在本应使用numframe等时会混淆地使用术语numSamples