我知道有很多潜在的类似问题,但是我的问题非常特殊。
我使用CoreAudio相对较新。我在Linux / C中使用Alsa库有一个功能齐全的应用程序。我正在将其调整为MacOS / C,但是在获取必要的音频格式时遇到了问题。
我将AudioQueue配置如下:
AudioStreamBasicDescription recordFormat;
memset(&recordFormat, 0, sizeof(recordFormat));
recordFormat.mFormatID |= kAudioFormatLinearPCM;
recordFormat.mFormatFlags &= ~kLinearPCMFormatFlagsAreAllClear;
recordFormat.mFormatFlags &= ~kLinearPCMFormatFlagIsFloat;
recordFormat.mFormatFlags |= kLinearPCMFormatFlagIsSignedInteger;
recordFormat.mFormatFlags &= ~kLinearPCMFormatFlagIsBigEndian;
recordFormat.mFormatFlags &= ~kLinearPCMFormatFlagIsNonInterleaved;
recordFormat.mFormatFlags |= kLinearPCMFormatFlagIsNonMixable;
recordFormat.mFormatFlags &= ~kLinearPCMFormatFlagIsPacked;
recordFormat.mChannelsPerFrame = 1;
recordFormat.mBitsPerChannel = 16;
recordFormat.mSampleRate = 44100;
但是我录制的音频有问题:
胆大的.pcm文件会加速声音。
在阅读了“Mac和iOS音频编程动手指南”并搜索了网络和我能找到的所有推荐读物后,我没有发现任何提供的代码不好的原因。
这是我的第一篇文章,因此如果我没有遵守所有规则,我深表歉意。提前致谢。
最佳答案
如果声音编辑器以两倍于音高的速度播放原始音频两倍,则它可能正在尝试像播放立体声一样播放单声道文件。