Clo*_*oov 5 mute ios avaudiosession
我有一个问题,我试图在AVAudioSession上更改我的音频类别,开始录制麦克风输入.
如果我使用当前的实现(以及许多替代实现,尝试解决此问题),当设备的静音开关没有设置(即取消静音)时,那么一切都很好.
如果我在静音时这样做 - 来自任何先前的音频类别(MediaPlayback,SoloAmbient等),会有很大的延迟,并且导致设备在一段时间内表现得非常缓慢.
这就是我正在做的事情.在应用启动时,我这样做:
AudioSessionInitialize(NULL, NULL, NULL, NULL);
UInt32 sessionCategory = kAudioSessionCategory_SoloAmbient;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
AudioSessionSetActive(true);
Run Code Online (Sandbox Code Playgroud)
然后,开始录制:
AudioSessionInitialize(NULL, NULL, NULL, NULL);
UInt32 sessionCategory = kAudioSessionCategory_RecordAudio;
AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(sessionCategory), &sessionCategory);
AudioSessionSetActive(true);
Run Code Online (Sandbox Code Playgroud)
如果我调试并逐步执行,一切都和预期的一样快,直到我点击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
Run Code Online (Sandbox Code Playgroud)
我在网上搜索过这些内容,但是我们从未报告过这种延迟,而且他们也没有强调我可能做错了什么.
有没有人经历过类似的事情,你知道我能做些什么来解决这个问题吗?
提前致谢
| 归档时间: |
|
| 查看次数: |
972 次 |
| 最近记录: |