[英]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.