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 |
|---|---|
|
Una de las opciones de sonido integradas que se enumeran a continuación. |
|
Opcional. El volumen del sonido, como un número entero del 0% al 100%. El valor predeterminado es el 50%. |
Sonidos incorporados |
Reproducir sonido |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 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 |
|---|---|
|
Uno de los archivos de sonido personalizados cargados por el usuario, desde |
|
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 |
|---|---|
|
La altura musical a tocar, escrita como una cadena (por ejemplo, |
|
La duración de la nota, expresada como un número entero en milisegundos. |
|
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 sonidoFalse— 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!")