从Delphi Firemonkey XE5应用程序在Android上拍照

前端之家收集整理的这篇文章主要介绍了从Delphi Firemonkey XE5应用程序在Android上拍照前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有人能够在用Delphi Firemonkey XE5编写的应用程序中从 Android上的相机拍照?视频捕捉怎么样?

这被认为是框架中的错误或只是缺少文档的东西.

任何人都可以告诉为什么代码波纹管无法工作/从Android上的相机检索任何图像?

删除了表单上的TCameraComponent和TImage组件,但没有任何反应.

procedure TCameraComponentForm.OnCreate(Sender: TObject);
begin
  CameraComponent1.Kind := FMX.Media.TCameraKind.ckFrontCamera;
  CameraComponent1.FlashMode := FMX.Media.TFlashMode.fmFlashOff;
  CameraComponent1.Active := True;
end;

procedure TCameraComponentForm.CameraComponent1SampleBufferReady(
  Sender: TObject; const ATime: Int64);
begin
  CameraComponent1.SampleBufferToBitmap(Image1.Bitmap,True);
  Image1.Width := Image1.Bitmap.Width;
  Image1.Height := Image1.Bitmap.Height;
end;

权限设置正确.

解决方法

这段代码工作正常:
procedure TfrmPrincipal.SampleBufferSync;
begin
  cmcPrincipal.SampleBufferToBitmap(imgFoto.Bitmap,true);
end;

procedure TfrmPrincipal.cmcPrincipalSampleBufferReady(Sender: TObject;
  const ATime: Int64);
begin
  TThread.Synchronize(TThread.CurrentThread,SampleBufferSync);
//  CameraComponent1.SampleBufferToBitmap(imgFoto.Bitmap,True);
//  imgFoto.Width := imgFoto.Bitmap.Width;
//  imgFoto.Height := imgFoto.Bitmap.Height;
end;

procedure TfrmPrincipal.FormShow(Sender: TObject);
begin
  cmcPrincipal.Kind := FMX.Media.TCameraKind.ckBackCamera;
  try
    cmcPrincipal.FlashMode := FMX.Media.TFlashMode.fmFlashOff;
  except

  end;
  cmcPrincipal.Active := True;
end;
原文链接:https://www.f2er.com/delphi/102177.html

猜你在找的Delphi相关文章