我一直在尋找網絡的答案几周沒有運氣。osx音頻單元多通道輸出
我有一個maudio profire 610多通道音頻接口。 如何正確設置AudioStreamBasicDescription以使用全部8個輸出通道? 目前它只適用於前2個頻道。
UInt32 busCount = 3; //numberOfOutputBusses;
AudioStreamBasicDescription outputASBD2 = {
.mSampleRate = 44100,
.mFormatID = kAudioFormatLinearPCM,
.mFormatFlags = kAudioFormatFlagsAudioUnitCanonical,
.mChannelsPerFrame = busCount,
.mFramesPerPacket = 1,
.mBitsPerChannel = sizeof(Float32) * 8,
.mBytesPerPacket = sizeof(Float32) * busCount,
.mBytesPerFrame = sizeof(Float32) * busCount
};
AudioUnitSetProperty(*_unit,
kAudioUnitProperty_StreamFormat,
kAudioUnitScope_Output,
1,
&outputASBD2,
sizeof(AudioStreamBasicDescription);
我工作的ofxaudiounit插件對了openFrameworks: https://github.com/antimodular/ofxAudioUnit
感謝。
感謝。我會試試這個。 與此同時,如果我使用這些其他格式標誌中的任何一個,這種行爲必須改變嗎? kAudioFormatFlagIsSignedInteger kAudioFormatFlagsNativeEndian kAudioFormatFlagIsNonMixable 我真的不知道自己代表的是什麼。 再次感謝。 – stephanschulz 2013-03-02 13:07:09
kAudioFormatFlagsAudioUnitCanonical包含NativeEndian。是的,如果您使用SignedInteger,則會發生變化,因爲SignedInteger似乎將所有內容都放入一個緩衝區中。我不知道IsNonMixable是什麼:) – iain 2013-03-02 13:15:13