TWebCamera and FlashLight

Hello,

in Update Version TMS WEB Core v2.2.3.0 is advertised with simplified camera operation.

Is it possible to operate the camera flash ON/OFF in this version?
If yes how ?

regards
Klaus

Hi,

Unfortunately it looks like TWebCamera.GetDeviceConstraints currently returns the applied constraints instead of the available constraints of the selected device.

We fixed this internally and the next version will be containing the necessary changes. After that, something like this should work:

procedure TForm1.WebCamera1CameraDevicesInitialized(Sender: TObject);
var
  I: Integer;
begin
  //Get a list of available camera devices, select the first one
  WebComboBox1.Clear;

  for I := 0 to WebCamera1.CameraDevices.Count - 1 do
    WebComboBox1.Items.Add(WebCamera1.CameraDevices.Items[I].Name);

  if WebCamera1.CameraDevices.Count > 0 then
  begin
    WebCamera1.CameraType := ctSelected;
    WebCamera1.SetSelectedCameraDevice(WebCamera1.CameraDevices.Items[0]);
    WebCamera1.Start;
    WebComboBox1.ItemIndex := 0;
  end;
end;

procedure TForm1.WebCamera1CameraStreamPlay(Sender: TObject;
  ACamera: TCameraDevice);
begin
  //If the selected device has the 'torch' constraint it means it supports
  //the flash
  if WebCamera1.GetDeviceConstraints.Text.Contains('torch') then
    WebCheckBox1.Enabled := True
  else
    WebCheckBox1.Enabled := False;
end;

procedure TForm1.WebCheckBox1Click(Sender: TObject);
var
  o: TJSObject;
begin
  //Turn flash on-off
  o := TJSObject.new;
  if WebCheckBox1.Checked then
    o.Properties['torch'] := True
  else
    o.Properties['torch'] := False;

  WebCamera1.ApplyConstraints(o);
end;

procedure TForm1.WebComboBox1Change(Sender: TObject);
begin
  //Start camera with selection
  WebCamera1.Stop;
  WebCamera1.SetSelectedCameraDevice(WebCamera1.CameraDevices.Items[WebComboBox1.ItemIndex]);
  WebCamera1.Start;
end;

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.