如何在iOS中重置/清除AudioUnit / AudioSession设置/属性?

时间:2016-04-26 07:15:38

标签: ios objective-c ios7 avaudiosession audiounit

我正在编写一个使用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到高端。

0 个答案:

没有答案