我正在编写一个使用AudioUnit进行音频相关任务的VoIP应用程序。在这里,使用以下两种方法从很多地方设置了AudioUnit和AudioSession的许多属性
AudioComponentInstance audioUnit;
AudioComponent inputComponent;
AudioComponentDescription audioComponentDescription;
AudioStreamBasicDescription audioStreamBasicDescription;
AudioUnitSetProperty(audioUnit,
kAudioUnitProperty_StreamFormat,
kAudioUnitScope_Input,
kOutputBus,
&audioStreamBasicDescription,
sizeof(audioStreamBasicDescription));
AudioSessionSetProperty(kAudioSessionProperty_OverrideCategoryEnableBluetoothInput,
sizeof(allowBluetoothInput),
&allowBluetoothInput);
但是在某些时候我想清除所有的AudioUnit和AudioSession属性。并希望恢复所有默认设置。但我无法弄清楚如何做到这一点。我尝试使用以下代码,但没有一个可以做我想要的。
AudioComponentInstance audioUnit;
AudioOutputUnitStop(audioUnit);
[[AVAudioSession sharedInstance] setActive:NO withOptions:AVAudioSessionSetActiveOptionNotifyOthersOnDeactivation error:nil];
AudioUnitUninitialize(audioUnit);
任何人都可以帮助我吗?任何代码示例都非常有用和赞赏。解决方案需要从iOS 7到高端。