UN SIMULATEUR DE B200

UN SIMULATEUR DE B200

Changer le volume d'un son

Vous trouverez ci dessous la façon de faire pour changer le volume d'un son à partir d'un potentiomètre sous réserve que ce son soit déclaré dans sioc.ini.

 

Rappel des paramètres d'une variable son dans sioc.ini

 

sound = outermarker.wav, -1, 40, -1

 

outermarker.wav représente le nom du fichier wav qui est lu, ce fichier doit être dans le répertoire de SIOC.

Le premier paramètre représente la fréquence à laquelle est lu le fichier, -1 est par défaut, * le lit en boucle

Le deuxième paramètre est le volume de ce son, de 0 à 100

Le troisième paramètre est la balance -100 complètement à gauche et +100 complètement à droite

 

J'ai laissé les paramètres de sons par défaut dans sioc.ini, donc tout à -1

 

Normalement on ne peut agir sur ces paramètres depuis l'extérieur mais une fonction pas très documentée de Sioc le permet c'est la fonction SETSOUND

 

Comment faire ?

 

On déclare une variable link SOUND dans le corps de notre programme

 

Var 0XXX, name PLAY_SOUND, Link SOUND            // Lance un fichier son

 

et une variable pour le volume

 

Var 0XXX, name vol_son1

 

On déclare une variable pour le potentiomètre branché sur une entrée analogique et on limite la variable vol_son à  100 car le paramètre volume ne peut dépasser 100

Je passe par une variable intermédiaire pour avoir une plus grande ampleur de réglage du potentiomètre.

 

Var 0XXX, name potar, Link usb_analogic, Input 1, PosL 0, PosC 128, PosR 255

{

   &vol_son1 = &potar / 2

   &vol_son1 = limit 0 100 0

}

 

Ensuite la programmation est un peu bizarre, dans la partie de code qui normalement déclenche le son, on attribue d'abord le numéro de son qui doit être joué à une variable locale

 

L0 = 1          c'est le numéro d'index du premier son dans sioc.ini

 

Puis on lance la fonction pour cette variable

L0 = setsound, -1, &vol_son1 , -1

 

Ensuite on lance le son

&PLAY_SOUND = 1

 

Le son va donc être joué avec le volume de la variable potar

 

Voilà, il y a juste une limitation c'est que le volume ne peut pas être changé en cours de lecture, si on le fait le nouveau niveau de volume ne sera pris en compte qu'à la lecture suivante.

 

Pour ce qui me concerne j'ai regroupé tous mes sons d'annonce altitude sur un potentiomètre qui était présent sur mon vrai panneau de communication, il est marqué FPA et je ne savais pas  comment l'utiliser, c'est chose faite ...

 

 

 



23/10/2016
0 Poster un commentaire

A découvrir aussi


Inscrivez-vous au blog

Soyez prévenu par email des prochaines mises à jour

Rejoignez les 72 autres membres