正在播放其他应用程序中的声音时录音停止

Posted

技术标签:

【中文标题】正在播放其他应用程序中的声音时录音停止【英文标题】:Audio recording stops when sound in other app is playing 【发布时间】:2017-09-12 13:42:46 【问题描述】:

我们在应用中有后台录制功能。 当应用程序处于后台模式时它工作正常,但是当我们打开其他应用程序并在其中播放声音时它会停止。当其他应用程序播放声音时,即使不停止录制,我们如何继续录制。

注意:当录音开始时应用程序在后台模式下。

【问题讨论】:

尝试 AVAudiosessionCategoryOptions -> 与其他人混合 【参考方案1】:

在appDelegate中调用这个方法,

func audioSessionSettings() 
    do 
        try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryRecord, with: AVAudioSessionCategoryOptions.mixWithOthers)
        try AVAudioSession.sharedInstance().setActive(true)
     catch let error 
        print(error.localizedDescription)
    

【讨论】:

我检查了您的代码,但面临一个问题,我有 .key 文件我从我的应用程序打开该 .key 文件到 Keynote 应用程序,当我从 keynote 播放密钥文件然后录制音频停止因为可能是 .key 文件当时包含音频和视频我的应用程序停止录音

以上是关于正在播放其他应用程序中的声音时录音停止的主要内容,如果未能解决你的问题,请参考以下文章

在android soundpool中播放新声音时如何停止所有其他以前的声音?

当我的应用程序正在播放声音时,将其他应用程序的声音静音

iOS AVAudioPlayer 让其他应用的背景音乐停止

触发 AVAudioPlayer 以停止所有声音并播放选定的声音,除非单击播放(选定)按钮

媒体录音机声音质量差

同时录制音频和播放 iPod?