Closed cnsuer closed 6 years ago
1.这里设置 kAudioUnitScope_Input 则element为 0, kAudioUnitScope_Output则为1 .为什么是反着来呢?
首先这里纠正下,不是设置kAudioUnitScope_Input的Element0 和设置kAudioUnitScope_Output的Element1,而是设置Element0的kAudioUnitScope_Input 和 Element1的kAudioUnitScope_Output。
Element0控制输出端,Element1控制输入端。Element0和Element1都有 input Scope 和 output Scope。
这里设置的是麦克风采集到的音频数据的StreamFormat和即将播放的pcm数据的StreamFormat。
对于录音功能(麦克风采集音频数据),硬件如何工作的对我们来说不必理会,我们只需要获取到Element1的输出端的数据,即Element1的output Scope。 对于播放音频数据,同样发声设备如何工作的我们不必理会,我们只要把音频数据传给Element0的输入端,即Element0的input Scope。
2.而这里设置的kAudioUnitScope_Input 为什么对应的是1呢? 这里是打开麦克风采集声音的功能,使麦克风的输入端能够采集声音,即开启Element1的input Scope,
3.请教下怎么样判断该写1 还是0 ? 根据具体情况来,判断操作的是Element0还是Element1,然后判断是要对input Scope进行设置还是对output Scope进行设置。例如用mixUnit的时候,设置输入流数量的时候,设置的就是Element1的input Scope
谢谢..恍然大悟,是我理解有问题,谢谢,非常感谢
这里设置 kAudioUnitScope_Input 则element为 0, kAudioUnitScope_Output则为1 .为什么是反着来呢?
而这里设置的kAudioUnitScope_Input 为什么对应的是1呢?
(AudioUnitSetProperty(augStruct->remoteIOUnit, kAudioOutputUnitProperty_EnableIO, kAudioUnitScope_Input, 1, &inputEnableFlag, sizeof(inputEnableFlag)), "Open input of bus 1 failed")
请教下怎么样判断该写1 还是0 ?