2013-07-10 94 views
0

我有一個完全由Apple AudioUnits - DLSSynth,延遲,立體聲混音器組成的AUGraph。我試圖將這個輸出捕獲到ExtAudioFile中。我的問題是我認爲我需要從AudioUnit格式轉換爲ExtAudioFile可以使用的文件格式。如果我參加了ASBD從AUGraph,我得到從AudioUnit格式轉換爲ExtAudioFileWrite

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

我沒有使用過那麼多的AU,但我通常不需要爲音頻文件指定ASBD。當您調用ExtAudioFileWriteAsync而不在文件上設置ASBD時會發生什麼?你會得到什麼樣的錯誤?另外,什麼數據和文件格式試圖寫? – Nick

回答

1

您希望使用該ASBD作爲您的ExtAudioFile的客戶端格式(kExtAudioFileProperty_ClientDataFormat),在創建文件後通過屬性進行設置。這是您在ExtAudioFileWrite中傳遞的數據的格式。輸出文件的格式在ExtAudioFileOpen中指定。

+0

謝謝!我知道這應該是相當直接的。 – olynoise