Jouer un son pour les valeurs d'altitude mais une seule fois
3 participants
Page 1 sur 1
Jouer un son pour les valeurs d'altitude mais une seule fois
Bonjour
J'arrive à faire jouer des .wav en lua avec la formule :
playFile("/SOUNDS/Fr/alt.wav")
Mon problème c'est qu'une fois la condition "vrai " pour lire mon fichier le fichier continu .
Comment peux-t-on faire pour que le sound jouer ne soit joué une seule fois ?
En fait tant le programme est scrupté rapidement et je voudrais que le son soit joué 1 scruptation .
Je sais pas si je me fais bien comprendre ?
Merci
J'arrive à faire jouer des .wav en lua avec la formule :
playFile("/SOUNDS/Fr/alt.wav")
Mon problème c'est qu'une fois la condition "vrai " pour lire mon fichier le fichier continu .
Comment peux-t-on faire pour que le sound jouer ne soit joué une seule fois ?
En fait tant le programme est scrupté rapidement et je voudrais que le son soit joué 1 scruptation .
Je sais pas si je me fais bien comprendre ?
Merci
captflame2121- Messages : 381
Date d'inscription : 10/06/2019
Age : 47
Localisation : bourgogne
Re: Jouer un son pour les valeurs d'altitude mais une seule fois
Bonjour,
Dans ton script lua, il faut que tu fasses une sorte de bascule logique avec un flag qui bascule une fois la valeur lue. Donc tu mets dans ta boucle de comparaison le boolean avec un AND. Une fois dans la boucle, tu bascules ton flag et du coup, lecture une seule fois. Et si tu veux réactiver, tu peux tester un switch qui remet ton flag à la bonne valeur, et c'est reparti pour un tour
@+
Dans ton script lua, il faut que tu fasses une sorte de bascule logique avec un flag qui bascule une fois la valeur lue. Donc tu mets dans ta boucle de comparaison le boolean avec un AND. Une fois dans la boucle, tu bascules ton flag et du coup, lecture une seule fois. Et si tu veux réactiver, tu peux tester un switch qui remet ton flag à la bonne valeur, et c'est reparti pour un tour
@+
Thierry71- Messages : 94
Date d'inscription : 22/12/2016
Age : 55
Localisation : 71
Re: Jouer un son pour les valeurs d'altitude mais une seule fois
Ou tu peux aussi utiliser l'interrupteur logique "Flanc".
→ Les interrupteurs logiques
Ou, aussi, utiliser la fonction spéciale, "Lire valeur/message" en précisant qu'il faut lire "1x" (Une seule fois) la valeur.
→ Les interrupteurs logiques
Ou, aussi, utiliser la fonction spéciale, "Lire valeur/message" en précisant qu'il faut lire "1x" (Une seule fois) la valeur.
_________________
Pas de support par MP !! Pour garder l'esprit communautaire, on partage tout sur le forum.
Maintenant que vous avez tout lu, vous pouvez poser vos questions !
OpenTX is user friendly!!! It's just selective about who its friends are....
Re: Jouer un son pour les valeurs d'altitude mais une seule fois
Bjr merci j'utilise la version "classique" dans Companion mais j'essais de faire en LUA même si certain pense que sa l'air facile , c'est pas facile du tout ! Je vais essayer avec un flag
Sa serait cool si dans companion sa nous affiachait le code comme avec une Macro
Sa serait cool si dans companion sa nous affiachait le code comme avec une Macro
captflame2121- Messages : 381
Date d'inscription : 10/06/2019
Age : 47
Localisation : bourgogne
Re: Jouer un son pour les valeurs d'altitude mais une seule fois
Bonjour
Je reviens vers vous car j'ai essayé mais je n'y arrive toujours pas.
Jouer simplement un son une seule fois après une condition :
J'ai essayé de faire comme cela :
Je n'y arrive pas même avec cette condition qui au passage de alt > 1 la variable nextTime passe à 1 . Et bien même comme cela le son est joué plusieurs fois . je ne comprends pas il mémorise malgré tout l'info .
Je voudrais savoir qui peut me créer et surtout m'expliquer le code exacte pour refaire la même chose que ceci dans openTX car cela fait des soirs et des soir que j'essais mais je n'y arrive pas .
merci beaucoup
Je reviens vers vous car j'ai essayé mais je n'y arrive toujours pas.
Jouer simplement un son une seule fois après une condition :
J'ai essayé de faire comme cela :
- Code:
local function sound (wgt)
-- run_func is called periodically only when screen is visible
local currTime1 = 0
local currTime2 = 0
local nextTime = 0
local alt = getValue('Alt')
alt = rnd(alt,2)
if ((alt >= 1) and (alt < 2)) and nextTime == 0 then
nextTime = 1
currTime1 = getTime()
playTone(500, 100, 10, PLAY_NOW)
playFile("/SOUNDS/Fr/SYSTEM/0001.wav")
currTime2 = getTime()
else
nextTime = 0
end
Je n'y arrive pas même avec cette condition qui au passage de alt > 1 la variable nextTime passe à 1 . Et bien même comme cela le son est joué plusieurs fois . je ne comprends pas il mémorise malgré tout l'info .
Je voudrais savoir qui peut me créer et surtout m'expliquer le code exacte pour refaire la même chose que ceci dans openTX car cela fait des soirs et des soir que j'essais mais je n'y arrive pas .
merci beaucoup
captflame2121- Messages : 381
Date d'inscription : 10/06/2019
Age : 47
Localisation : bourgogne
Sujets similaires
» Widget pour TX16S affichant la valeur d'une seule cellule d'un pack.
» Quel est le code LUA en ELRS / Open TX pour afficher les valeurs de trim ?
» Affichage et utilisation des données FAS40, OK pour V et A mais pas de conso ou de puissance
» Pour les Geek's J'y arrive pas mais suis pas Geek ( je me soigne)
» débrancher x7 à chaque fois
» Quel est le code LUA en ELRS / Open TX pour afficher les valeurs de trim ?
» Affichage et utilisation des données FAS40, OK pour V et A mais pas de conso ou de puissance
» Pour les Geek's J'y arrive pas mais suis pas Geek ( je me soigne)
» débrancher x7 à chaque fois
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum