(AVCaptureDevice) Почему я не могу получить свою камеру

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

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

После того как я перейду к следующему коду, все заработает!

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

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


person Apple Dog    schedule 09.04.2020    source источник


Ответы (1)


Код 1:

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

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

введите здесь описание изображения

Код 2:

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

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

person Hitesh Surani    schedule 09.04.2020