iOS-设置kAudioSessionProperty_AudioCategory时,设备如果静音,将挂起

iOS-设置kAudioSessionProperty_AudioCategory时,设备如果静音,将挂起,ios,avaudiosession,mute,Ios,Avaudiosession,Mute,我遇到了一个问题,我试图在AVAudioSession上更改我的音频类别,以开始录制麦克风输入 如果在设备静音开关未设置(即取消静音)的情况下,我使用当前实现(以及许多替代实现,尝试解决此问题),那么一切都很好 如果我在静音时这样做-来自任何先前的音频类别(MediaPlayback、SoloAmbient等),会有巨大的延迟,这会导致设备在一段时间内表现非常缓慢 这是我正在做的。在应用程序启动时,我执行以下操作: AudioSessionInitialize(NULL, NULL, NULL,

我遇到了一个问题,我试图在AVAudioSession上更改我的音频类别,以开始录制麦克风输入

如果在设备静音开关未设置(即取消静音)的情况下,我使用当前实现(以及许多替代实现,尝试解决此问题),那么一切都很好

如果我在静音时这样做-来自任何先前的音频类别(MediaPlayback、SoloAmbient等),会有巨大的延迟,这会导致设备在一段时间内表现非常缓慢

这是我正在做的。在应用程序启动时,我执行以下操作:

AudioSessionInitialize(NULL, NULL, NULL, NULL);
UInt32 sessionCategory = kAudioSessionCategory_SoloAmbient;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
AudioSessionSetActive(true);
稍后,要开始录制,请执行以下操作:

AudioSessionInitialize(NULL, NULL, NULL, NULL);
UInt32 sessionCategory = kAudioSessionCategory_RecordAudio;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
AudioSessionSetActive(true);
如果我调试并逐步完成,在我点击AudioSessionSetProperty之前,一切都会像预期的那样快——这就是设备挂起的地方。当我使用RecordAudio和PlayAndRecord类别时,就会发生这种情况

发生这种情况时,我会在控制台中收到以下消息:

AudioSessionSetProperty posting message to kill mediaserverd
AudioSessionSetActive posting message to kill mediaserverd
AudioQueueSetProperty posting message to kill mediaserverd
AllocateBuffer posting message to kill mediaserverd
我在网上搜索过这些,但它们从未与我所经历的这种延迟一起被报道过,它们也没有强调我可能做错了什么

有没有人经历过类似的事情,你知道我能做些什么来解决这个问题吗

提前谢谢