AppleのCoreAudioAudioUnit APIを使用して、新しくレンダリングされたオーディオサンプルがいっぱいありますが、サンプルを正しい形式で取得するのに問題がありAudioBufferます。void *mData前記バッファの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が、最初にサンプルの正しい形式を取得しないと変換できません。
前もって感謝します。