小编Jos*_*erg的帖子

从Float32到SInt16的位移音频样本会导致严重削波

我是iOS及其C基础的新手,但不是一般的编程.我的困境是这样的.我正在基于AudioUnits的复杂应用程序中实现回声效果.该应用程序需要混响,回声和压缩等功能.但是,当我在我的应用程序中生成的音频样本使用特定的AudioStreamBasicDescription格式时,回声才有效.但是,此格式不适用于其他AudioUnits.虽然还有其他方法可以解决这个问题,但修复回声算法中的位错可能是最直接的方法.

与echo一起使用的*AudioStreamBasicDescription*具有mFormatFlag: kAudioFormatFlagsAudioUnitCanonical ; 具体是:

AudioUnit Stream Format (ECHO works, NO AUDIO UNITS)
Sample Rate:              44100
Format ID:                 lpcm
Format Flags:              3116 = kAudioFormatFlagsAudioUnitCanonical
Bytes per Packet:             4
Frames per Packet:            1
Bytes per Frame:              4
Channels per Frame:           2
Bits per Channel:            32
Set ASBD on input
Set ASBD on  output
au SampleRate rate: 0.000000, 2 channels, 12 formatflags, 1819304813 mFormatID, 16 bits per channel
Run Code Online (Sandbox Code Playgroud)

除了mFormatFlag之外,与AudioUnit一起使用的流格式是相同的:kAudioFormatFlagIsFloat | kAudioFormatFlagsNativeEndian …

objective-c core-audio ipad audiounit ios5

5
推荐指数
1
解决办法
3889
查看次数

标签 统计

audiounit ×1

core-audio ×1

ios5 ×1

ipad ×1

objective-c ×1