Sonido#

Introducción#

El controlador de drones VEX AIR permite reproducir sonidos integrados, archivos de audio personalizados y notas musicales. También incluye controles para detener sonidos y detectar si se está reproduciendo audio.

A continuación se muestra una lista de todos los métodos disponibles:

Acciones - Reproducir y detener sonidos

  • play — Reproduce un sonido incorporado de una lista predefinida.

  • play_file — Reproduce un sonido subido por el usuario.

  • play_note — Reproduce una nota musical con un tono, octava y duración especificados.

  • stop — Detiene cualquier sonido que se esté reproduciendo actualmente.

Obtenedores - Obtener el estado de los sonidos

  • is_active — Comprueba si se está reproduciendo un sonido actualmente.

Comportamiento#

play#

El comando play reproduce uno de los sonidos integrados del controlador a un porcentaje de volumen específico. Dado que este método no requiere espera, el controlador reproduce el sonido integrado y pasa al siguiente comando sin esperar a que finalice.

Uso:

controller.sound.play(sound, volume)

Parámetro

Descripción

sound

Una de las opciones de sonido integradas que se enumeran a continuación.

volume

Opcional. El volumen del sonido, como un número entero del 0% al 100%. El valor predeterminado es el 50%.

Sonidos incorporados

Reproducir sonido

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#

play_file reproduce un sonido personalizado cargado por el usuario a un porcentaje de volumen especificado. Dado que este es un método sin espera, el dron reproduce el sonido personalizado y pasa al siguiente comando sin esperar a que termine.

Uso:

controller.sound.play_file(file, volume)

Parámetro

Descripción

file

Uno de los archivos de sonido personalizados cargados por el usuario, desde SOUND1 hasta SOUND10El número de sonido coincide con el número que se muestra en el Panel de control de AIR.

volume

Opcional. El volumen del sonido, como un número entero del 0% al 100%. El valor predeterminado es el 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#

play_note reproduce una nota específica durante una duración determinada. Dado que este es un método sin espera, el dron reproduce la nota específica y pasa al siguiente comando sin esperar a que termine.

Uso:

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

Parámetro

Descripción

note

La altura musical a tocar, escrita como una cadena (por ejemplo, C5, A#6). Las notas válidas son A a G (con # opcional para sostenidos) en las octavas 5 a 8.

duration

La duración de la nota, expresada como un número entero en milisegundos.

volume

Opcional. El volumen de la nota, como un número entero del 0% al 100%. El valor predeterminado es 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 detiene un sonido que se está reproduciendo actualmente.

Uso:

controller.sound.stop()

Parámetros

Descripción

Este método no tiene parámetros.

# 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()

Captadores#

is_active#

is_active devuelve un valor booleano que indica si el dron está reproduciendo un sonido en ese momento.

  • True — Actualmente se está reproduciendo un sonido

  • False — No se está reproduciendo ningún sonido

Usage:
controller.sound.is_active()

Parámetros

Descripción

Este método no tiene parámetros.

# 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!")