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