繁体   English   中英

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

[英]How to add an audio input to a AVCaptureSession and allow other apps to play music in the background

我正在尝试将音频输入添加到我的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)

也许这会有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM