【问题标题】:iOS Audio Unit playback with constant noiseiOS 音频单元播放持续噪音
【发布时间】:2012-01-15 15:39:00
【问题描述】:

我正在使用音频单元进行音频播放。我已经从http://cocoawithlove.com/2010/10/ios-tone-generator-introduction-to.html 下载了音调发生器并尝试使用它。出于某种原因,我需要使用 ulaw 而不是线性 PCM。这是我的音频格式设置:

AudioStreamBasicDescription streamFormat;
streamFormat.mSampleRate = 8000;
streamFormat.mFormatID = kAudioFormatULaw;
streamFormat.mFormatFlags = 0;
streamFormat.mFramesPerPacket = 1;
streamFormat.mBytesPerFrame = 2;
streamFormat.mBytesPerPacket = streamFormat.mBytesPerFrame;
streamFormat.mChannelsPerFrame = 1;
streamFormat.mBitsPerChannel = 16;

当我运行示例代码时,我得到一个恒定的噪音。有没有人可以帮助解决这个问题?非常感谢。

【问题讨论】:

    标签: ios audio core-audio


    【解决方案1】:

    您只能使用音频单元使用线性PCM 格式。甚至 kAudioUnitType_FormatConverter 也提供线性PCM 格式之间的转换(具有不同的采样率、bytesPerPacket 等)。要从压缩格式转换,您应该使用 AudioConverter。

    https://developer.apple.com/library/ios/#documentation/MusicAudio/Reference/AudioConverterServicesReference/Reference/reference.html

    【讨论】:

      【解决方案2】:

      如果您想使用不同于线性 PCM 的其他编解码器,则需要避免使用音频单元,因为它们仅支持线性 PCM。

      但是,您可以使用音频队列,它们支持 ULaw、ALaw 等。如果延迟不是问题,请使用音频队列。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-07-31
        • 2014-06-10
        • 1970-01-01
        • 2012-09-16
        • 2019-07-25
        相关资源
        最近更新 更多