我有一个使用音频序列做口头用户输入的记录的应用程序。 只有在用户按下按钮时才会发生短暂的持续时间。如何忽略背景音频录制时(使用音频队列服务)
我希望允许用户的背景音乐继续播放,除非在录音实际发生时(为了避免录制扬声器中播放的音频)将其静音或以低得多的音量播放。
对于我的记录队列,我使用的是PlayAndRecord类,和我有OverrideCategoryMixWithOthers属性设置为true。
我有一个使用音频序列做口头用户输入的记录的应用程序。 只有在用户按下按钮时才会发生短暂的持续时间。如何忽略背景音频录制时(使用音频队列服务)
我希望允许用户的背景音乐继续播放,除非在录音实际发生时(为了避免录制扬声器中播放的音频)将其静音或以低得多的音量播放。
对于我的记录队列,我使用的是PlayAndRecord类,和我有OverrideCategoryMixWithOthers属性设置为true。
当他们添加AudioSessionSetActiveWithFlags API和kAudioSessionSetActiveFlag_NotifyOthersOnDeactivation标志时,此问题在iOS4 +中就变得不太常见了。
要在录制时暂停背景音乐,您需要调用AudioSessionSetActive(false),这会停用音频会话,然后将类别切换到PlayAndRecord模式,并将OverrideCategoryMixWithOthers属性设置为false。
现在,激活您与AudioSessionSetActive(真)使用这些设置会话,为iPod /潘多拉的/ etc会被打断音频对话,并会淡出并暂停。
然后,当您的录音完成后,关闭再次使用
AudioSessionSetActiveWithFlags(假,kAudioSessionSetActiveFlag_NotifyOthersOnDeactivation)会话;
这将通知的背景音乐应用程序,他们的会话不再中断,他们就可以开始播放音乐。
最后,您可以设置再次使用的MediaPlayback(或同等)模式,并重新设置OverrideCategoryMixWithOthers属性为true音频会议。