iOS音频单元播放,噪音恒定

时间:2011-12-08 06:15:06

标签: ios audio core-audio

我正在使用音频设备进行音频播放。我已经从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;

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

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

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