AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia FMX Camera Component als Lichtsensor (Lux)
Thema durchsuchen
Ansicht
Themen-Optionen

FMX Camera Component als Lichtsensor (Lux)

Ein Thema von weber8722 · begonnen am 30. Dez 2020 · letzter Beitrag vom 4. Jan 2021
Antwort Antwort
Seite 1 von 2  1 2      
weber8722

Registriert seit: 8. Jul 2015
29 Beiträge
 
Delphi XE8 Professional
 
#1

FMX Camera Component als Lichtsensor (Lux)

  Alt 30. Dez 2020, 14:58
Hallo,

weiss jemand wie man die Helligkeit in Lux mit Firemonkey misst? Habe ein paar Hinweise gefunden, aber es kommt immer Lux=0 raus:

procedure TFotoapp.ButtonLichtMessungClick(Sender: TObject);
Var Sensormanager: Tsensormanager;
i : Integer;
Sensors: TSensorArray;
fSensor: TCustomLightsensor;

begin
Sensormanager:=Tsensormanager.Current;
Sensormanager.Activate;
Sensors:=Sensormanager.GetSensorsByCategory(Tsenso rcategory.Light);
if length(Sensors)>0 then Begin
fsensor:=TCustomlightSensor(Sensors[0]);
//fsensor.OnDataChanged ??;
Showmessage(fstrj(fsensor.Lux,5)); // fstrj konvertiert von Double auf String
end;

end;

Ciao Stephan

Geändert von weber8722 (30. Dez 2020 um 16:05 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#2

AW: FMX Camera Component als Lichtsensor (Lux)

  Alt 30. Dez 2020, 15:33
Naja, die FMX Kaperakomponente dürfte eine ziemlich vereinfachte Abstraktion des benutzten Kamera-APIs sein.
Ich fürchte, dass du da um direkte nutzung des entsprechenden OS APIs wohl nicht herumkommen wirst.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#3

AW: FMX Camera Component als Lichtsensor (Lux)

  Alt 31. Dez 2020, 12:17
Hast Du das SensorDemo ausprobiert ?
Wenn dein Handy einen Sensor hat dann sollte damit ein Wert kommen.
Nicht unbedingt jedes Handy hat so einen Sensor drin.
Generelly kann man auch mit anderen Apps testen, z.B. PhyBox ist sehr schön.
Es gab in der Vergangenheit schon Fälle wo keines der Programme die Sensoren ansprechen könnte, da ist nicht immer Delphi dran Schuld.

Ich würde mich auf den "Lux-Wert" aber nicht verlassen, das ist mehr oder weniger nur ein unkalibrierter Lichtindex ( heller / dunkler).
  Mit Zitat antworten Zitat
weber8722

Registriert seit: 8. Jul 2015
29 Beiträge
 
Delphi XE8 Professional
 
#4

AW: FMX Camera Component als Lichtsensor (Lux)

  Alt 31. Dez 2020, 19:37
Hallo,

auf meinem Moto G8 habe ich auch andere Apps mit Lux-Messung installiert. Alle gehen 100% einwandfrei!

Nur bei meine FMX-App kommt immer 0.0 raus, und OnChanged wird nie getriggert.
Beim Code habe ich mich an der Sensor-Demo orientiert. Nur Lux ist eben immer 0.0.

Irgendwie dachte ich es liegt daran, dass .start ausgeführt werden muss, jedoch ist .start nicht verfügbar für den Lichtsensor.

Hat jemand noch eine Idee, oder kann es selber mal ausprobieren?
Eigentlich sollte jedes Android-Handy so einen Lichtsensor haben, nur wie geht der unter FMX?

Ciao Stephan
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.643 Beiträge
 
Delphi 12 Athens
 
#5

AW: FMX Camera Component als Lichtsensor (Lux)

  Alt 1. Jan 2021, 16:36
Hast du vielleicht noch ein älteres Delphi?
Hier steht geschrieben, dass es mit XE7 gehen sollte.
Ich habe auch mal mit einem HTC10 (Android 8) und 10.4 probiert. Damit bekomme ich auch immer 0.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#6

AW: FMX Camera Component als Lichtsensor (Lux)

  Alt 2. Jan 2021, 11:40
Also ich habe gerade mal, nach längerer Zeit, das SensorInfo Demo ausprobiert.
Es funkktioniert erstmal nicht, aber da ist ein kleiner Bug drin
Delphi-Quellcode:
procedure TfrmAboutSensors.ListBoxItemClick(Sender: TObject);
begin
  if Sender is TListBoxItem then
  begin
    FActiveSensor := TCustomSensor(TListBoxItem(Sender).Data);
    if (FActiveSensor <> nil) and (not FActiveSensor.Started) then
    begin
{$IFDEF ANDROID}
      if FActiveSensor.Category = TSensorCategory.Location then
      begin
        PermissionsService.RequestPermissions([JStringToString(TJManifest_permission.JavaClass.ACCESS_FINE_LOCATION)],
          procedure(const APermissions: TArray<string>; const AGrantResults: TArray<TPermissionStatus>)
          begin
            if (Length(AGrantResults) = 1) and (AGrantResults[0] = TPermissionStatus.Granted) then
              FActiveSensor.Start
            else
              TDialogService.ShowMessage('Location permission not granted');
          end)
      end
      else //<== 02.01.21 Add
      begin //<==
          FActiveSensor.Start; //<==
      end;
{$ELSE}
      FActiveSensor.Start;
{$ENDIF}
    end;
  end;
  FShowInfo := True;
end;
Nach der Änderung wird bei mir (Samsung S9) ein Wert angezeigt,
vorher war es 0.
Ist ja auch klar, wenn der Sensor nur bei Location gestartet würde.
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#7

AW: FMX Camera Component als Lichtsensor (Lux)

  Alt 2. Jan 2021, 14:49
Interessante Lösung.
Hast du schon geprüft, ob das schon als Bug in QP eingetragen ist und falls nicht es mit samt deinem Lösungsansatz eingetragen?
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#8

AW: FMX Camera Component als Lichtsensor (Lux)

  Alt 2. Jan 2021, 14:56
Ok, ich hab's doch gleich selber erfasst:
https://quality.embarcadero.com/browse/RSP-32058
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#9

AW: FMX Camera Component als Lichtsensor (Lux)

  Alt 2. Jan 2021, 15:17
Ja dankesehr, neues Jahr, zu wenig Zeit ...

Es wäre wirklich sinnvoll wenn Emba die Demos vor jeder neuen Verson mal wirklich Testen/Updaten würde.
So kann man bei Neueinsteigern sicher besser punkten, wenn es mal out-of-the-box laufen würde.
Die Demos einer Software sind immer der erste Anlaufpunkt für mich.
  Mit Zitat antworten Zitat
zeras

Registriert seit: 11. Mär 2007
Ort: Saalkreis
1.643 Beiträge
 
Delphi 12 Athens
 
#10

AW: FMX Camera Component als Lichtsensor (Lux)

  Alt 2. Jan 2021, 15:23
Kommando zurück, falsch geschaut.
Matthias
Es ist nie falsch das Richtige zu tun!
- Mark Twain

Geändert von zeras ( 2. Jan 2021 um 15:28 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz