Sonido#

Introducción#

El controlador VEX AIR Drone permite a los usuarios reproducir sonidos incorporados, archivos de audio personalizados y notas musicales. También incluye controles para detener los sonidos y detectar si el audio se está reproduciendo actualmente.

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 cargado por el usuario.

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

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

Getters - Obtener el estado de los sonidos

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

Acciones#

play#

play reproduce uno de los sonidos incorporados en el controlador a un porcentaje de volumen especificado. Dado que este es un método de no espera, el controlador reproduce el sonido incorporado y pasa al siguiente comando sin esperar a que termine.

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 para el sonido, como un número entero de 0% a 100%. El valor predeterminado es 50%.

Sonidos integrados

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 en un porcentaje de volumen especificado. Dado que este es un método de no espera, el dron reproduce el sonido personalizado y se mueve 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, de SOUND1 a SOUND10. El número de sonido se alinea con el número que se muestra en el panel de control de AIRE.

volume

Opcional. El volumen para el sonido, como un número entero de 0% a 100%. El valor predeterminado es 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 un tiempo específico. Dado que este es un método de no espera, el dron toca 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

El tono musical a tocar, escrito como una cuerda (por ejemplo, C5, A#6). Las notas válidas son de la A a la G (con # para objetos punzantes) en las octavas 5 a 8.

duration

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

volume

Opcional. El volumen del billete, como un 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()

Getters#

is_active#

is_active devuelve un booleano que indica si el dron está reproduciendo un sonido actualmente.

  • True : un sonido se está reproduciendo

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