J'ai essayé la même chose sur mon S5 et a trouvé ce qui suit:
values[0]
et values[2]
semblent être des valeurs LUX, mais ils sont beaucoup trop élevés. Je les ai comparés à mon multimètre-luxmètre (Mastech ms8229), qui n'est pas un luxmètre pur mais qui reste relativement fiable. Les valeurs élevées (1000+) étaient environ doubles et [0] était toujours supérieure à [2]. Je suppose que l'un est filtré ou normalisé/corrigé d'une manière ou d'une autre. Et c'est de supposer que leur inexactitude est différente d'un appareil à l'autre, donc sans étalonnage, ils sont une indication approximative au mieux. Ils descendent également en dessous mesurés dans des conditions de faible luminosité. À 50 Lux mesurée avec le multimètre, le capteur indique 20.
values[1]
semble représenter la couleur de la lumière en Kelvin mais aussi très imprécis. J'ai des sources de lumière de 2700K à 6500K à ma place et ils ont tous été mesurés "ok" mais en fonction de la distance, une ampoule LED Philips 4000K mesurée de 3900K à 3600K. En ce qui concerne le graphique posté dans la question, je dirais que [2] doit être [1] et les 2 autres sont [0] et [2] et si c'était une ampoule ordinaire et un peu sombre donnerait une lumière 2500K avec LUX à environ 10 à 20. En supposant que dans la réalité, il aurait pu être jusqu'à 50 Lux, ce qui est totalement ok à l'œil, tout a un sens.
Note importante
De la température de la lumière, vous pouvez calculer des valeurs RVB, mais le capteur a photodiodes qui réagissent à une longueur d'onde spécifique du spectre de la lumière et qui est le problème. Si la source de lumière a un spectre impair ou très petit (LED, CFL), le capteur peut être éteint plus que ce ne serait à la lumière du soleil ou avec des ampoules à incandescence.
À moins que quelqu'un ne puisse déterminer comment accéder directement au capteur, la valeur est seulement ce qu'elle est, la couleur de la lumière et Lux.J'ai même pris de la peinture et fait rouge tout l'écran 255 rouge et mesuré cela, mettre le capteur du téléphone juste contre l'écran et ensuite essayé de calculer "vers l'arrière". Fait la même chose avec 255 bleu et vert mais le résultat était inutilisable.
Je ne connais pas la réponse, mais y a-t-il quelque chose dans 'event.values [1]', par hasard? –
Oui. il y a 3 valeurs (event.values.length est 3): [0]: 3.0, [1] 1596.0 [2] 1.0. Le premier est le lux que je lis, le second varie avec la lumière (la valeur 1596.0 est à 0 lux), le troisième est un peu plus petit mais proche du premier. – user3546827
@MattGibson Les 3 valeurs sont liées à la lumière car elles varient avec celle-ci. – user3546827