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
が、最初にサンプルの正しい形式を取得しないと変換できません。
前もって感謝します。