我有一个完全由Apple AudioUnits制作的AUGraph - DLSSynth,Delay,Stereo Mixer。我试图将其输出捕获到ExtAudioFile中。我的问题是我认为我需要从AudioUnit格式转换为ExtAudioFile可以使用的文件格式。如果我从AUGraph那里拿ASBD,我会得到
mSampleRate Float64 44100
mFormatID UInt32 1819304813
mFormatFlags UInt32 41
mBytesPerPacket UInt32 4
mFramesPerPacket UInt32 1
mBytesPerFrame UInt32 4
mChannelsPerFrame UInt32 2
mBitsPerChannel UInt32 32
mReserved UInt32 0
但是我不能创建一个带有ASBD的ExtAudioFile而没有获得fmt?错误。有人能指出将此流记录到文件的正确方向吗?
答案 0 :(得分:2)
您希望将该ASBD用作ExtAudioFile
的客户端格式(kExtAudioFileProperty_ClientDataFormat
),在创建文件后通过属性设置。这是您在ExtAudioFileWrite
中传递的数据格式。输出文件的格式在ExtAudioFileOpen
。