我知道有很多潜在的类似问题,但是我的问题非常特殊。
我使用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音频编程动手指南”并搜索了网络和我能找到的所有推荐读物后,我没有发现任何提供的代码不好的原因。

    这是我的第一篇文章,因此如果我没有遵守所有规则,我深表歉意。提前致谢。

    最佳答案

    如果声音编辑器以两倍于音高的速度播放原始音频两倍,则它可能正在尝试像播放立体声一样播放单声道文件。

    10-06 01:11