ios - 如何将音频输入添加到 AVCaptureSession 并允许其他应用程序在后台播放音乐

标签 ios swift audio avcapturesession avcapturedevice

我正在尝试将音频输入添加到我的 AVCaptureSession() 并且效果很好。但是,我也想支持希望从其他应用程序(如 Spotify)在后台播放音乐的用户,并为我的录音维护此 audioInput。这怎么可能?

let captureSession = AVCaptureSession()         
let audioDevice = AVCaptureDevice.defaultDeviceWithMediaType(AVMediaTypeAudio)
audioInput = AVCaptureDeviceInput.deviceInputWithDevice(audioDevice, error:&err) as? AVCaptureDeviceInput
       if captureSession.canAddInput(videoCapture) {
           captureSession.addInput(videoCapture)
           // This line Kills spotify playing in the background
           captureSession.addInput(audioInput as AVCaptureInput)
       }

最佳答案

类别 AVAudioSessionCategoryPlayback 是为数不多的允许背景的类别之一。 AVAudioSessionCategoryOptionMixWithOthers 选项将确保您的音频不会停止任何当前正在播放的背景音频,并确保当用户将来播放音乐时,它不会启动您的后台任务。

try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, withOptions: .MixWithOthers)

也许这会有所帮助

关于ios - 如何将音频输入添加到 AVCaptureSession 并允许其他应用程序在后台播放音乐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28783004/

相关文章:

iphone - 在 iPhone 应用程序中播放连续声音

ios - 在特定时间 Swift 设置通知

php - 使用PHP将SND/AU转换为mp3

ios - 初始化 UIColor displayP3 颜色时的最佳实践

ios - 通过电话进行iOS音频播放

delphi - 使用Tobybears VST模板获得完整的音频频谱?

ios - 在 iOS 中下载文件

javascript - 如何重新编译 Ionic 1.x 应用程序?

ios - webkit 中的 CSS 最大高度过渡双动画错误

ios - 在 Swift 中将字符串拆分为数组?