From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Discussions au sujet de NI LabVIEW

annuler
Affichage des résultats de 
Rechercher plutôt 
Vouliez-vous dire : 

Lecture de fichier WAV

Résolu !
Accéder à la solution

Bonjour,

J'essaye de lire un fichier son ".wav", j'y arrive avec "Play Soud File.vi" mais j'ai toutefois deux soucis :

Le premier, pas trop embêtant, est que je dois régler le timeout (en s) à une grande valeur, en tout cas au moins supérieure à la durée du fichier son, sinon plusieurs lectures démarre à la queue leu leu et ça devient inaudible en moins de temps qu'il n'en faut pour le dire.

Le second, très embêtant pour moi, est que lorsque le fichier son est lu, il me semble que l'exécution du contenu du diagramme (de la boucle WHILE qui contient tout pour être précis) se bloque (le temps que le son se termine).

 

Ci-joint mon VI (LabView 2012) pour ceux d'entre vous qui auraient la gentillesse de me dire comment je pourrais lever mes difficultés.

Par avance merci,

Gilles.

0 Compliments
Message 1 sur 6
3 472 Visites

ou est la tempo de la boucle while !?

 

0 Compliments
Message 2 sur 6
3 440 Visites

Effectivement, il faut que ta boucle soit cadencé. Ajoute un "Attendre (ms)" que tu cable à 100 par exemple.

Ensuite, si tu veux que ton message s'affiche tout de suite, il faut le mettre dans une autre structure condition (ou bien tu utilise le vi "Sélectionner" dans la palette comparaison par exemple).

 

0 Compliments
Message 3 sur 6
3 433 Visites

J'ai mis une tempo (enfin je crois), mais ça ne change rien.

 

Ma demande subsiste...

0 Compliments
Message 4 sur 6
3 432 Visites

Il va faloir être un peu plus précis, mais de ce que j'ai cru comprendre : tant que ton fichier est lu, ta boucle ne tourne plus : c'est normal, tu reste bloqué par ton vi de lecture wav.

Si tu veux pouvoir faire autre-chose en attendant (mais quoi, ton programme ne semble faire que ça!), il te faut une structure producteur/consomateur. Tu peux, pour faire simple, afficher un booléen à la sortie de ton test (n>5), puis dans une autre boucle, lire le fichier si le booléen est à vrai :

Gaufre.png

0 Compliments
Message 5 sur 6
3 428 Visites
Solution
Accepté par l'auteur du sujet Gilles7410

La proposition de Nico_EMC me permet de découvrir les variables locales.

Mais Le "STOP" dans la while du dessous me donne :

"Si une commande booléenne est associée à des variables locales, l'action mécanique de type armement ne peut pas être utilisée. La première variable locale lisant la valeur d'une commande booléenne à armement l'initialiserait à sa valeur par défaut."

 

J'ai réglé ça depuis la face avant.

Et puis ça marche comme je veux (première étape de mon besoin).

 

Donc merci...

 

Reste à stopper la lecture du wav si valeur < seuil pendant la lecture ; je vais chercher...

0 Compliments
Message 6 sur 6
3 425 Visites