gpt4 book ai didi

iOS MPVolumeView 基于 AudioSession Mode 中断

转载 作者:行者123 更新时间:2023-12-01 16:27:50 24 4
gpt4 key购买 nike

我正在开发一个 VoIP 应用程序,它使用 MPVolumeView 来允许用户调整系统音量。在 iOS 9.1 发布之前,这一切都运行良好。然后我发现如果我设置AVAudioSession模式为 AVAudioSessionModeVoiceChat MPVolumeView slider 坏了。 (即 slider 不再调节系统音量。)如果我将模式更改为AvAudioSessionModeDefault MPVolumeView会按预期工作,但我的麦克风会记录来自 iPad 扬声器的音频。 (换句话说,语音处理已关闭——我需要 VoIP 调用。)在 iOS 9.1 之前,我可以将 AudioSession 模式设置为 AVAudioSessionModeDefault然后在 AudioComponentDescription 中将 componentSubType 设置为 kAudioUnitSubType_VoiceProcessingIO一切正常。不幸的是,情况似乎不再如此。有谁知道如何在 iOS 9.1 之后保持语音处理并让 MPVolumeView 工作?

这是我设置 AVAudioSession 的代码:

    AppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];

// Make sure the session on this thread matches.
AVAudioSession *audioSession = [AVAudioSession sharedInstance];
[audioSession setCategory:AVAudioSessionCategoryPlayAndRecord withOptions:AVAudioSessionCategoryOptionMixWithOthers | AVAudioSessionCategoryOptionAllowBluetooth error:nil];

// Here is the main connundrum: I want to set AVAudioSessionModeDefault so that the MPVolumeView will work,
// but when I do that the mic picks up the audio from the speaker and plays it back creating an unwanted feeback loop.
// If I set the mode to AVAudioSessionModeVoiceChat the voice processing (primarily the AEC) fixes the feeback loop,
// but then the MPVolumeView no longers works. (It no longer adjusts the system volume.
//Question: How can I have BOTH the voice processing AND the MPVolumeView adjust the system volume?
if(!appDelegate.viewController.voiceChatMode)
[audioSession setMode:AVAudioSessionModeDefault error:nil];
else
[audioSession setMode:AVAudioSessionModeVoiceChat error:nil];

[audioSession setPreferredIOBufferDuration:0.005 error:nil];
[audioSession setActive:YES error:nil];

最佳答案

在与 Apple 的技术支持人员交谈后,他们直接从马的嘴里回答:

根据 Core Audio 工程,MPVolumeView 不再调整系统音量的问题是一个已知问题 (r. 17292753),目前记录在我们的错误数据库中。

恐怕我不知道有什么办法可以解决这个问题。
否则,关于 VoIP 支持,建议聊天应用程序没有音量 slider ,而是依靠手机的音量按钮。

所以你有它。希望他们能尽快修复它......

关于iOS MPVolumeView 基于 AudioSession Mode 中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34346209/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com