Le forum français des radios OpenTX ou FrOS
Le forum français des radios OpenTX ou FrOS
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -55%
Friteuse sans huile – PHILIPS – Airfryer ...
Voir le deal
49.99 €

Jouer un son pour les valeurs d'altitude mais une seule fois

3 participants

Aller en bas

Jouer un son pour les valeurs d'altitude mais une seule fois Empty Jouer un son pour les valeurs d'altitude mais une seule fois

Message par captflame2121 Sam 8 Jan 2022 - 17:51

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

captflame2121

Masculin Messages : 381
Date d'inscription : 10/06/2019
Age : 47
Localisation : bourgogne

Revenir en haut Aller en bas

Jouer un son pour les valeurs d'altitude mais une seule fois Empty Re: Jouer un son pour les valeurs d'altitude mais une seule fois

Message par Thierry71 Dim 9 Jan 2022 - 15:08

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

@+

Thierry71

Masculin Messages : 94
Date d'inscription : 22/12/2016
Age : 55
Localisation : 71

Revenir en haut Aller en bas

Jouer un son pour les valeurs d'altitude mais une seule fois Empty Re: Jouer un son pour les valeurs d'altitude mais une seule fois

Message par LapinFou Dim 9 Jan 2022 - 16:09

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.

_________________
Pas de support par MP !! Pour garder l'esprit communautaire, on partage tout sur le forum. Jouer un son pour les valeurs d'altitude mais une seule fois 2258904616

Jouer un son pour les valeurs d'altitude mais une seule fois Anim310                
↓↓↓↓ Merci de cliquer sur le gros lien rouge ↓↓↓↓                                          
[OpenTX-Doc] Base documentaire des radios OpenTX
Maintenant que vous avez tout lu, vous pouvez poser vos questions !  geek


OpenTX is user friendly!!! It's just selective about who its friends are....
Wink
LapinFou
LapinFou
Administrateur

Masculin Messages : 16992
Date d'inscription : 09/09/2014
Age : 49
Localisation : Falaise

https://opentx-doc.fr/

Revenir en haut Aller en bas

Jouer un son pour les valeurs d'altitude mais une seule fois Empty Re: Jouer un son pour les valeurs d'altitude mais une seule fois

Message par captflame2121 Dim 9 Jan 2022 - 18:05

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

captflame2121

Masculin Messages : 381
Date d'inscription : 10/06/2019
Age : 47
Localisation : bourgogne

Revenir en haut Aller en bas

Jouer un son pour les valeurs d'altitude mais une seule fois Empty Re: Jouer un son pour les valeurs d'altitude mais une seule fois

Message par captflame2121 Sam 12 Mar 2022 - 17:20

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 :
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 .
Jouer un son pour les valeurs d'altitude mais une seule fois Image_14

merci beaucoup

captflame2121

Masculin Messages : 381
Date d'inscription : 10/06/2019
Age : 47
Localisation : bourgogne

Revenir en haut Aller en bas

Jouer un son pour les valeurs d'altitude mais une seule fois Empty Re: Jouer un son pour les valeurs d'altitude mais une seule fois

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum