21期_AudioUnit的Scope录音输入和输出

2023-09-29  本文已影响0人  萧修

AudioUnitSetProperty用于设置音频属性,比如音频输入和输出格式,对AudioUnitPropertyID设置

AudioUnitSetProperty( AudioUnit inUnit,
                    AudioUnitPropertyID inID,
                    AudioUnitScope      inScope,
                    AudioUnitElement    inElement, 1:输入 0输出
                    const void * __nullable  inData, 值 0:关,1开
                    UInt32             inDataSize)

AudioUnitScope:音频输入和输出控制 input和output,描述音频流通过音频单元的过程。

kAudioUnitScope_Input:音频输入端口,在此处都需要向element输入音频数据
kAudioUnitScope_Output:音频输出端口,此处设置将element的音频数据输出到其他地方

开启录音输入

UInt32 inputEnable = 1;
status = AudioUnitSetProperty(audioUnit,
kAudioOutputUnitProperty_EnableIO,
kAudioUnitScope_Input,
1,
&inputEnable,
sizeof(inputEnable));

设置播放的输入部分

CHECK_ERROR(AudioUnitSetProperty(ioUnitInstance, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Output, 1, &mDataFormat, sizeof(mDataFormat)), "设置input格式失败");

设置录音的输出 element1 ---> APP

CHECK_ERROR(AudioUnitSetProperty(ioUnitInstance, kAudioUnitProperty_StreamFormat, kAudioUnitScope_Input, 0, &mDataFormat, sizeof(mDataFormat)), "设置output格式失败");
``pod
上一篇 下一篇

猜你喜欢

热点阅读