Поиск сообщества
Показаны результаты для тегов 'Камера'.
Найдено: 4 результата
-
В Android 6 на Berlin 10.1.1 перестала работать стандартная функция TakePhotoFromCameraAction. Иногда работает, иногда нет. Поэтому я решил написать нативную замену этой функции. За основу взят пример с портала разработчиков Android. Мой пример про видео на базе отправки Intetn смартфону и получение результата в виде другого Intent, отлично работает. Но для фотографий этот пример сыпется, после выполнения фотографирования система возвращается в мое приложение и оно вылетает с ошибкой: Если заглянуть в исходнки, там все обвязано сообщениями в лог монитора. Последнее сообщение «+ Intent is sent». Помогите пожалуйста разобраться, в чем может быть проблема? PhotoIntent.zip
-
Есть такой код: if TPlatformServices.Current.SupportsPlatformService(IFMXCameraService, Service) then begin Params.Editable := True; Params.NeedSaveToAlbum := False; Params.RequiredResolution := TSize.Create(self.ClientHeight, self.ClientHeight); Params.OnDidFinishTaking := actTakePhotoFromCameraDidFinishTaking; Service.TakePhoto(btnInfoAddPhoto, Params); end else ShowMessage('This device does not support the camera service'); После того как фото сделано, появляется ошибка EBitmapLoadingFailed 'Loading bitmap failed (/storage/emulated/0/DCIM/Camera/IMG_20170503_170826.jpg).' Появилась после того как убрал из проекта права READ_EXTERNAL_STORAGE и WRITE_EXTERNAL_STORAGE. Вопрос: можно ли получать фото от камеры минуя их сохранение в память утсройства? PS спрашиваю, т.к. стоит задача избавиться от ненужных прав в манифесте. Всем заранее спасибо!
- 5 ответов
-
- read_external_storage
- ebitmaploadingfailed
- (и ещё 4 )
-
У меня следующая проблема, когда подключаюсь к камере телефона, то кадры отображаются с ужасной задержкой, нааамного медленнее чем в сторонних приложениях работающих с камерой. Для подключения к камере использую следующий код: procedure TForm1.FormShow(Sender: TObject); var CDM : TCaptureDeviceManager; VC : TVideoCaptureDevice; begin CDM := TCaptureDeviceManager.Current; VC := CDM.DefaultVideoCaptureDevice; if (VC <> nil) then VC.OnSampleBufferReady := VideoBufferReady; VC.StartCapture; end; Для загрузки кадров в TImage этот: procedure TForml.VideoBufferReady(Sender: TObject; const ATime: int64); var VCD : TVideoCaptureDevice; begin VCD := Sender as TVideoCaptureDevice; VCD.SampleBufferToBitmap(Image1.Bitmap, True); end; Ещё раз повторюсь, что всё работает, но чрезвычайно медленно. Пробовал стандартный компонент TCameraComponent, но он работает также или даже ещё медленнее.
- 30 ответов
-
- Кадры
- Видеозапись
- (и ещё 7 )
-
Из демо AccessCameraApp взял код для получения снимка с камеры (собственно и кода там одна строчка). Периодически после вызова камеры и получения снимка я получаю черный экран (то есть управление обратно в приложение не передается)... через несколько секунд выходит ошибка Segmentation fault. Как лечить? PS. Поставил точку останова на procedure TFrmMain.TakePhotoFromCameraAction1DidFinishTaking(Image: TBitmap); begin ImgOrientir.Bitmap.Assign(Image); end; сюда управление не доходит !