我正在编写应用程序的代码,在应用程序通过麦克风录音时,我不需要打扰用户正在播放的音乐。

但是,如果我将kAudioSessionProperty_OverrideAudioRoute与kAudioSessionOverrideAudioRoute_Speaker一起用于我的音频 session 属性,即使插入了耳机,音频也会重新路由到外部扬声器。如果我使用kAudioSessionProperty_OverrideCategoryDe​​faultToSpeaker,则即使我正在使用kAudioSessionWithgosix_C,也不允许播放背景音乐。 。

有任何想法吗?

最佳答案

我找到了答案。

不要这样做:

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/

10-12 14:36