Как записать видео во время звонка в iOS swift - PullRequest
0 голосов
/ 08 ноября 2018

Я делаю проект, подобный 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)
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...