CameraViewer
Камера устройства как живой предпросмотр плюс съёмка фото. Все методы статические — сессия камеры
одна, экземпляров нет. takePhoto() возвращает File (хэндл буфера
хоста), поэтому снимок можно сразу отправить в текстуру (Texture2D.load(file)), на загрузку
(FormData) или в шторку шеринга (share(file)).
Обзор
await CameraViewer.open() // спрашивает разрешение, запускает предпросмотр задней камеры
const photo = await CameraViewer.takePhoto()
CameraViewer.close()
share(photo, 'My shot')API
CameraViewer.open(facingMode?: 'front' | 'back'): Promise<void> // по умолчанию 'back'
CameraViewer.setFacingMode(facingMode: 'front' | 'back'): void // переключить, пока открыто
CameraViewer.takePhoto(): Promise<File> // фото, закодированное хостом
CameraViewer.close(): void // остановить предпросмотр, освободить камеруopen() сначала запрашивает разрешение на камеру (тот же запрос уровня движка, что использует
QRScanner), затем запускает живой предпросмотр. Промис отклоняется, если в разрешении отказано или
камера не может стартовать — обработай это.
Note
жизненный цикл — камера остаётся занятой до close(). Всегда закрывай при уходе с экрана
(onClose), иначе камера (и её системный индикатор) останется включённой.
Смотрите также
- Файлы и шеринг —
share()снятого фото;openFilePickerкак не-камерный способ получить изображение. - Сеть — хэндл
Fileи загрузка черезFormData.