(AVCaptureDevice) Почему я не могу получить свое устройство камеры - PullRequest
0 голосов
/ 09 апреля 2020

Я написал следующий код, но не могу получить устройство с камерой. Это всегда кра sh

guard let captureDevice = AVCaptureDevice.default(.builtInDualCamera, for: .video, position: .back) else {
  fatalError()
}

После перехода на следующий код, это работает!

guard let captureDevice = AVCaptureDevice.default(for: AVMediaType.video) else {
   fatalError()
}

Может кто-нибудь сказать мне почему? спасибо !!

1 Ответ

1 голос
/ 09 апреля 2020

Код 1:

guard let captureDevice = AVCaptureDevice.default(.builtInDualCamera, for: .video, position: .back) else {
  fatalError()
}

Здесь вы использовали ключевое слово builtInDualCamera, которое доступно не на всех устройствах Apple. Вот почему ваше приложение зависло.

enter image description here

Код 2:

guard let captureDevice = AVCaptureDevice.default(for: AVMediaType.video) else {
   fatalError()
}

Над кодом просто проверьте, что ваше устройство захватывает видео емкость или нет. Я думаю, что все устройства имеют эту функцию, поэтому она работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...