Sonido#

Introducción#

Los sonidos del robot de codificación VEX AIM permiten 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 o detener sonidos.

  • play – Plays a built-in sound effect.

  • play_file – Plays a user-uploaded custom sound.

  • play_note – Plays a musical note for a set duration.

  • stop – Stops any currently playing sound.

Getter – Verifica el estado del sonido.

  • is_active – Returns whether a sound is currently playing.

Comportamiento#

play#

play reproduce uno de los sonidos predefinidos del robot a un volumen determinado. Al ser un método sin espera, el robot reproduce el sonido predefinido y pasa al siguiente comando sin esperar a que termine.

Uso:

robot.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 50 %.

Sonidos incorporados

Reproducir sonido

ACT_ANGRY

ACT_EXCITED

ACT_HAPPY

ACT_SAD

ACT_SILLY

BLINKER

BRAKES

CHEER

CHIRP

COMPLETE

CRASH

DETECTED

DOORBELL

FAIL

FLOURISH

HUAH

LOOPING

MOVE_FORWARD

MOVE_REVERSE

OBSTACLE

PAUSE

PICKUP

RECEIVE

RESUME

SENSING

SEND

SPARKLE

TADA

TURN_LEFT

TURN_RIGHT

# Play cheer
robot.sound.play(CHEER)

# Play cheer at full volume
robot.sound.play(CHEER, 100)

# Wait until sound is finished to move
robot.sound.play(ACT_HAPPY)
while robot.sound.is_active():
    wait(50, MSEC)
robot.turn_to(180)

play_file#

play_file reproduce un sonido personalizado subido por el usuario. Al ser un método sin espera, el robot reproduce el sonido personalizado y pasa al siguiente comando sin esperar a que termine.

Uso:

robot.sound.play_file(file, volume)

Parámetro

Descripción

file

Uno de los archivos de sonido personalizados subidos por el usuario, de SOUND1 a SOUND10. El número de sonido coincide con el que se muestra en el panel de control de AIM.

volume

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

# Play an uploaded sound
robot.sound.play_file(SOUND1)

# Play an uploaded sound at full volume
robot.sound.play_file(SOUND1, 100)

# Wait until sound is finished to move
robot.sound.play_file(SOUND1)
while robot.sound.is_active():
    wait(50, MSEC)
robot.turn_to(180)

play_note#

play_note reproduce una nota específica durante un tiempo determinado en milisegundos. Al ser un método sin espera, el robot reproduce la nota y pasa al siguiente comando sin esperar a que termine.

Uso:

robot.sound.play_note(note, length, volume)

Parámetro

Descripción

note

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

length

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
robot.sound.play_note("C5", 2000)

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

# Wait until note is finished to move
robot.sound.play_note("C6", 1000)
while robot.sound.is_active():
    wait(50, MSEC)
robot.turn_to(180)

stop#

stop detiene un sonido que se está reproduciendo actualmente.

Uso:

robot.sound.stop()

Parámetros

Descripción

Este método no tiene parámetros.

# Cut a sound off after 1 second
robot.sound.play(ACT_SILLY)
wait(1, SECONDS)
robot.sound.stop()

Captadores#

is_active#

is_active devuelve un valor booleano que indica si actualmente se está reproduciendo un sonido.

  • True – Se está reproduciendo un sonido actualmente

  • False – No se reproduce ningún sonido

Uso:

robot.sound.is_active()

Parámetros

Descripción

Este método no tiene parámetros.

# Play tada after cheer finishes
robot.sound.play(CHEER)   
while robot.sound.is_active():
    wait(10, MSEC)
robot.sound.play(TADA)