PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV Mobile (versiones precedentes) → problème fonction CaméraParamètre (WM26)
problème fonction CaméraParamètre (WM26)
Iniciado por CeD, 03,may. 2022 10:54 - 8 respuestas
Publicado el 03,mayo 2022 - 10:54
Sous Windev Mobile 26 dans un projet pour android, j’utilise la fonction CaméraParamètre.

Sur un bouton en testant sous Android cela fonctionne, la fonction me renvoie « auto » :

<COMPILE SI TypeConfiguration=Android>
// vipFocus = état actuel du focus de la caméra : automatique, macro, fixe
// utilisation de la constante
sValeurRecup est une chaîne
sValeurRecup = CaméraParamètre(vipFocus)
SI ErreurDétectée = Faux ALORS
Info("Valeur renvoyée : " + sValeurRecup)
SINON
Erreur("Erreur durant la récupération des infos par la caméra.")
FIN
<SINON>
Info("Seuleument Android")
<FIN>

Par contre dès que je veux récupérer par le nom du paramètre du sdk android cela me retourne toujours chaine vide :

<COMPILE SI TypeConfiguration=Android>
sValeurRecup est une chaîne
sValeurRecup = VidéoParamètre("FOCUS_MODE_AUTO")
SI ErreurDétectée = Faux ALORS
Info("Valeur renvoyée : " + sValeurRecup)
SINON
Erreur("Erreur durant la récupération des infos par la caméra. Erreur : " + ErreurInfo())
FIN
<SINON>
Info("Seuleument Android")
<FIN>

Comment retourner la valeur d’un paramètre sans utiliser une constante mais une chaine ?
Bien cordialement
Publicado el 03,mayo 2022 - 11:21
VidéoParamètre("FOCUS_MODE_AUTO") ou CaméraParamètre("FOCUS_MODE_AUTO") ne renvoit rien, alors que CaméraParamètre(vipFocus) renvoit "auto"
Miembro registrado
3.311 mensajes
Popularité : +93 (137 votes)
Publicado el 03,mayo 2022 - 19:39
Je comprends pas, les constantes en Wlangage sont toujours des entiers
En l'occurrence, ne faut il pas plutôt utiliser vipFocusAuto pour VidéoParamètre?
Publicado el 04,mayo 2022 - 11:21
Bonjour,

Merci pour votre contribution, au risque de me répéter, un simple test montre que :

- en passant une constante cela fonction, le cas CaméraParamètre(vipFocus) me renvoie « auto »

vipFocus est un exemple parmi d'autres et il fonctionne comme par exemple vipCompressionJPEG ... (cas constante)

- par contre dès que je veux récupérer par le nom du paramètre du sdk android (cas chaine de l'aide) cela me retourne toujours une chaine vide

"FOCUS_MODE_AUTO" est un exemple parmi tant d'autre et il ne marchera pas ...
CaméraParamètre("FOCUS_MODE_AUTO") ne marchera pas
CaméraParamètre("SENSOR_INFO_PHYSICAL_SIZE") ne marchera pas non plus ...
------------------

voir l'aide ici :
https://doc.pcsoft.fr/?1000022459

cas <Résultat> = CaméraParamètre(<Paramètre>)
soit à une Chaîne de caractères correspondant au nom du paramètre voulu.
Attention : le nom du paramètre est sensible à la casse et à l'accentuation. Consultez la documentation du SDK Android ou de l'appareil pour connaître le nom des paramètres supplémentaires supportés. Si le nom spécifié ne correspond pas à un paramètre supporté par la caméra, la fonction retournera chaîne vide.

Précision : j'indique la bonne casse au nom du paramètre

------------------
Miembro registrado
3.311 mensajes
Popularité : +93 (137 votes)
Publicado el 04,mayo 2022 - 14:52
J'avais compris la première fois
Il est préférable d'utiliser les constantes
Les chaînes sont sûrement mal programmé
Le mieux est de faire un selon chaîne et fournir l'équivalent en constante
Pour la chaîne vide , l'aide indique d'utiliser CaméraListeParamètre
Pour être sur que la chaîne correspond bien
Publicado el 05,mayo 2022 - 14:40
"Les chaînes sont sûrement mal programmé" : on est bien d'accord sur ce point

Sinon le problème est que l'aide ne fournit / possède que 10 constantes (vipBalance, vipCaméra ...) parmi tout ce qui est possible sur le SDK d'android (pour la caméra)

Cas concret (qui ne marche pas et qui n'a pas d’équivalence en constante Windev sur la fonction CaméraParamètre ) :

- J'aimerais avoir accès à "SENSOR_INFO_PHYSICAL_SIZE" du sdk android ( ou équivalent "android.sensor.info.physicalSize")
- et également à "LENS_INFO_AVAILABLE_FOCAL_LENGTHS" du sdk android
Miembro registrado
3.311 mensajes
Popularité : +93 (137 votes)
Publicado el 05,mayo 2022 - 22:17
Seul solution java
Publicado el 06,mayo 2022 - 18:23
question très bete : tes chaines sont bien déclarées en unicode ?
Publicado el 17,mayo 2022 - 09:54
Bonjour, excellente remarque cela aurait pu être effectivement parce qu'il faut mettre les chaine en unicode (pour android). Je viens de faire le test et cela ne fonctionne toujours pas