我有AudioBuffer
及其void *mData
充滿了使用Apple CoreAudio Audio Unit API的新鮮渲染的音頻樣本,但我有問題以正確格式獲取樣本。該ASBD的所述緩衝如下:爲特定的ASBD緩衝區獲取正確的數字數據類型
Float64 mSampleRate 44100
UInt32 mFormatID 1819304813
UInt32 mFormatFlags 41
UInt32 mBytesPerPacket 4
UInt32 mFramesPerPacket 1
UInt32 mBytesPerFrame 4
UInt32 mChannelsPerFrame 2
UInt32 mBitsPerChannel 32
UInt32 mReserved 0
我通過調試應用程序以及執行AudioUnitGetProperty(rioUnit, kAudioUnitProperty_StreamFormat, ...)
電話得到這個。該mFormatFlags
場意味着以下標誌(我不知道任何正式的解碼方法,我剛剛纔通過嘗試的kAudioUnitFlags
不同組合,直到我得到41
):
kAudioFormatFlagIsNonInterleaved | kAudioFormatFlagIsPacked | kAudioFormatFlagIsFloat
我應該投哪些類型的數據緩衝區?我已經嘗試過Float32
,SInt32
,但他們不是。
之後我打算做一個轉換爲SInt16
,但是如果我沒有首先獲得正確的樣本格式,我不能這樣做。
在此先感謝。