Son#

Introduction#

La télécommande du drone VEX AIR permet de diffuser des sons intégrés, des fichiers audio personnalisés et des notes de musique. Elle comprend également des commandes pour arrêter la lecture des sons et détecter si un son est en cours de lecture.

Vous trouverez ci-dessous la liste de toutes les méthodes disponibles :

Actions - Lecture et arrêt des sons

  • play — Joue un son intégré à partir d’une liste prédéfinie.

  • play_file — Joue un son téléchargé par l’utilisateur.

  • play_note — Joue une note de musique avec une hauteur, une octave et une durée spécifiées.

  • stop — Arrête tout son en cours de lecture.

Getters - Obtenir l’état des sons

  • is_active — Vérifie si un son est actuellement en cours de lecture.

Actes#

play#

La commande play lance l’un des sons intégrés de la manette à un volume spécifié. Comme il s’agit d’une méthode sans attente, la manette lance le son intégré et passe à la commande suivante immédiatement.

Usage:

controller.sound.play(sound, volume)

Paramètre

Description

sound

L’une des options audio intégrées énumérées ci-dessous.

volume

Facultatif. Le volume sonore, exprimé en pourcentage (de 0 % à 100 %). La valeur par défaut est de 50 %.

Sons intégrés

Jouer un son

SUCCESS

FAULT

SENSING

DETECTED

OBSTACLE

LOOPING

COMPLETE

PAUSE

RESUME

SEND

RECEIVE

# Play the looping sound.
controller.sound.play(LOOPING)

# Play the looping sound at full volume.
controller.sound.play(LOOPING, 100)

# Play the looping sound. 
# Wait until the sound is finished before taking off.
controller.sound.play(LOOPING)
while controller.sound.is_active():
    wait(50, MSEC)
drone.take_off(climb_to=500)
wait(1, SECONDS)
drone.land()

play_file#

La commande play_file permet de lire un son personnalisé chargé par l’utilisateur à un pourcentage de volume spécifié. Comme il s’agit d’une méthode sans attente, le drone lit le son personnalisé et passe à la commande suivante sans attendre la fin de la lecture.

Usage:

controller.sound.play_file(file, volume)

Paramètre

Description

file

L’un des fichiers sonores personnalisés téléchargés par l’utilisateur, de SOUND1 à SOUND10Le numéro du son correspond au numéro affiché dans le panneau de contrôle AIR.

volume

Facultatif. Le volume sonore, exprimé en pourcentage (de 0 % à 100 %). La valeur par défaut est de 50 %.

# Upload a sound file in VEXcode.
# Play the custom sound.
controller.sound.play_file(SOUND1)

# Upload a sound file in VEXcode.
# Play the custom sound at full volume.
controller.sound.play_file(SOUND1, 100)

# Play the custom sound sound. 
# Wait until the sound is finished before taking off.
controller.sound.play_file(SOUND1)
while controller.sound.is_active():
    wait(50, MSEC)
drone.take_off(climb_to=500)
wait(1, SECONDS)
drone.land()

play_note#

La commande play_note joue une note spécifique pendant une durée déterminée. Comme il s’agit d’une méthode sans attente, le drone joue la note et passe à la commande suivante sans attendre la fin de celle-ci.

Usage:

controller.sound.play_note(note, duration, volume)

Paramètre

Description

note

La hauteur musicale à jouer, écrite sous forme de chaîne de caractères (ex. : C5, A#6). Les notes valides vont A à G (avec # optionnel pour les dièses) sur les octaves 5 à 8.

duration

La durée de la note, exprimée sous forme d’un entier en millisecondes.

volume

Facultatif. Le volume de la note, sous forme d’un entier compris entre 0 % et 100 %. La valeur par défaut est de 50 %.

# Play C5 for 2 seconds
controller.sound.play_note("C5", 2000)

# Play C5 for 2 seconds at full volume
controller.sound.play_note("C5", 2000, 100)

# Play a short tune.
controller.sound.play_note("C5", 1000)
while controller.sound.is_active():
    wait(50, MSEC)
controller.sound.play_note("D5", 1000)
while controller.sound.is_active():
    wait(50, MSEC)
controller.sound.play_note("E5", 250)
while controller.sound.is_active():
    wait(50, MSEC)

stop#

stop arrête un son en cours de lecture.

Usage:

controller.sound.stop()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# Upload a sound 10 seconds or greater in VEXcode.
# Stop the sound while it is playing.
controller.sound.play_file(SOUND1)
wait(6, SECONDS)
controller.sound.stop()

Getters#

is_active#

is_active renvoie une valeur booléenne indiquant si le drone émet actuellement un son.

  • True — Un son est en cours de lecture

  • False — Aucun son n’est diffusé

Usage:
controller.sound.is_active()

Paramètres

Description

Cette méthode ne comporte aucun paramètre.

# Display text once a sound starts playing
controller.sound.play(LOOPING)
while not controller.sound.is_active():
    wait(50, MSEC)
print("I hear the sound!")