我正在编写一个应用程序,我需要在应用程序通过麦克风录音时不打断用户正在播放的任何音乐。
但是,如果我将 kAudioSessionProperty_OverrideAudioRoute 与 kAudioSessionOverrideAudioRoute_Speaker 一起用于我的 Audio Session 属性,即使插入耳机,音频也会重新路由到外部扬声器。如果我使用 kAudioSessionProperty_OverrideCategoryDefaultToSpeaker,即使我“m 使用 kAudioSessionProperty_OverrideCategoryMixWithOthers。
有什么想法吗?
最佳答案
我找到了答案。
不要这样做:
AudioSessionSetProperty( kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof( trueValue ), &trueValue );
AudioSessionSetProperty( kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof(trueValue), &trueValue);
相反,首先设置默认扬声器属性:
AudioSessionSetProperty( kAudioSessionProperty_OverrideCategoryDefaultToSpeaker, sizeof(trueValue), &trueValue);
AudioSessionSetProperty( kAudioSessionProperty_OverrideCategoryMixWithOthers, sizeof( trueValue ), &trueValue );
设置默认路径覆盖似乎很容易与其他应用混合使用。所以只需设置允许与其他应用程序混合即可。
关于ios - 录音时播放音乐,无需重新路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13597184/