PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV Mobile (earlier versions) → problème fonction CaméraParamètre (WM26)
problème fonction CaméraParamètre (WM26)
Started by CeD, May, 03 2022 10:54 AM - 8 replies
Posted on May, 03 2022 - 10:54 AM
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
Posted on May, 03 2022 - 11:21 AM
VidéoParamètre("FOCUS_MODE_AUTO") ou CaméraParamètre("FOCUS_MODE_AUTO") ne renvoit rien, alors que CaméraParamètre(vipFocus) renvoit "auto"
Registered member
3,311 messages
Popularité : +93 (137 votes)
Posted on May, 03 2022 - 7:39 PM
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?
Posted on May, 04 2022 - 11:21 AM
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

------------------
Registered member
3,311 messages
Popularité : +93 (137 votes)
Posted on May, 04 2022 - 2:52 PM
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
Posted on May, 05 2022 - 2:40 PM
"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
Registered member
3,311 messages
Popularité : +93 (137 votes)
Posted on May, 05 2022 - 10:17 PM
Seul solution java
Posted on May, 06 2022 - 6:23 PM
question très bete : tes chaines sont bien déclarées en unicode ?
Posted on May, 17 2022 - 9:54 AM
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