Я делаю проект, подобный SOS. Когда пользователь нажимает кнопку SOS, мне нужно вызвать два метода: метод телефонного звонка и запись видео с камеры.
Эти две функции работают нормально, когда я звоню по отдельности. Но в то время как не работает означает, что звонить по телефону это нормально, но запись видео с камеры не происходит. Я думаю, что аудио функциональность не поддерживает обе функции. Как отключить звук записи видео во время телефонного звонка?
Может ли кто-нибудь помочь мне решить эту проблему?
func videoMethod() {
let devices = AVCaptureDevice.devices(for: AVMediaType.video)
guard AVCaptureDevice.default(for: .video) != nil else { return }
for device in devices {
if (device as AnyObject).position == AVCaptureDevice.Position.back{
do {
let input = try AVCaptureDeviceInput(device: device )
if (captureSession.canAddInput(input)) {
captureSession.addInput(input)
sessionOutput.outputSettings = [AVVideoCodecKey : AVVideoCodecJPEG]
if (captureSession.canAddOutput(sessionOutput)) {
// captureSession.remo
captureSession.addOutput(sessionOutput)
previewLayer = AVCaptureVideoPreviewLayer(session: captureSession)
previewLayer.videoGravity = AVLayerVideoGravity.resizeAspectFill
previewLayer.connection?.videoOrientation = AVCaptureVideoOrientation.portrait
cameraView.layer.addSublayer(previewLayer)
previewLayer.position = CGPoint(x: self.cameraView.frame.width / 2, y: self.cameraView.frame.height / 2)
previewLayer.bounds = cameraView.frame
}
captureSession.addOutput(movieOutput)
captureSession.startRunning()
self.handleCaptureSession()
}
}
catch {
print("Error")
}
}
}
}
func makeCall(phoneNumber: String) {
let formattedNumber = phoneNumber.components(separatedBy:
NSCharacterSet.decimalDigits.inverted).joined(separator: "")
let phoneUrl = "tel://\(formattedNumber)"
let url:NSURL = NSURL(string: phoneUrl)!
if (#available(iOS 10, *)) {
UIApplication.shared.open(url as URL, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(url as URL)
}
}