J’ai donc aujourd’hui cherché à incorporer de nouvelles fonctions, à savoir les continuousmove, et les preset position.
Pour se faire, je savais que les commandes devaient être de la forme suivante;
http://cam01/axis-cgi/com/ptz.cgi?gotoserverpresetno=1 et
http://cam01/axis-cgi/com/ptz.cgi?co...ntiltmove=1,-1.
Le problème que j’ai rencontré aujourd’hui, c’est qu’un fois codé et incorporé dans l’applet, rien ne se passait. En effet, les commandes étaient bien formée comme ci-dessus, visiblement l’envoie de requête se faisait correctement, bref tout allait bien, mais rien ne changeait à l’écran.
J’ai donc cherché à comprendre pourquoi. La première étape fut de vérifier que la commande(copier coller depuis la sortie d’éclipse) fonctionnait dans un web browser. En effet, la commande s’effectuait sans problème. J’ai donc continué à coder tout en réfléchissant à ce problème. Pendant ce temps j’ai donc inclus les nouvelles fonctionnalités de continuousmove(qui rencontrait le même problème), géré un problème de perte de focus entraînant une perte de contrôle possible au clavier, gérer les évènements de prise/perte de focus sur les textezone (lors de la prise de focus, on sélectionne tout le contenu, à la perte on update les observer), commenter les grandes parties de mon code etc…sans trouver la raison qui faisait que cela ne marchait pas.
En réalité, ce qui m’a trompé a été le test sur le navigateur. En effet, si cette fonctionnalité marche via navigateur, la commande n’est pas la même lorsqu’on la lance depuis une applet java. En effet il faut, comme pour les autres fonctionnalités, inclure le morceau de code camera=1 devant les arguments.
Les commandes devenaient alors:
http://cam01/axis-cgi/com/ptz.cgi?came [...] verpresetno=1 et
http://cam01/axis-cgi/com/ptz.cgi?ca...ntiltmove=1,-1
Une fois ceci fait, les commandes passent par l’applet. On peut donc maintenant contrôler directement des mouvements continues et pré-enregistré.
Partager