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

JZ.*_*JZ. 6 audio ios avcapturesession avcapturedevice swift

我正在尝试为我添加一个音频输入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)
       }
Run Code Online (Sandbox Code Playgroud)

小智 0

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

\n\n
try AVAudioSession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback, withOptions: .MixWithOthers)\n
Run Code Online (Sandbox Code Playgroud)\n\n

也许这会有帮助

\n