gpt4 book ai didi

c - 如何正确录制带有核心音频的16bits LittleEndian带符号整数PCM格式的音频

转载 作者:行者123 更新时间:2023-12-02 22:25:30 25 4
gpt4 key购买 nike

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

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

    最佳答案

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

    关于c - 如何正确录制带有核心音频的16bits LittleEndian带符号整数PCM格式的音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49697922/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com