Som#
Introdução#
O robô de programação VEX AIM permite aos utilizadores reproduzir sons integrados, ficheiros de áudio personalizados e notas musicais. Também inclui controlos para interromper os sons e detetar se o áudio está a ser reproduzido.
Segue-se uma lista de todos os métodos:
Ações — Reproduzir ou parar sons.
play— Reproduz um efeito sonoro integrado.play_file— Reproduz um som personalizado carregado pelo utilizador.play_note— Toca uma nota musical durante uma duração definida.stop— Interrompe qualquer som que esteja a ser reproduzido no momento.
Getter — Verificar o estado do som.
is_active— Retorna se um som está a ser reproduzido no momento.
Ações#
play#
play reproduz um dos sons integrados do robô numa percentagem de volume especificada. Como este é um método sem espera, o robô reproduz o som integrado e passa para o comando seguinte sem esperar que este termine.
Utilização:
robot.sound.play(sound, volume)
Parâmetro |
Descrição |
|---|---|
|
Uma das opções de som integradas listadas abaixo. |
|
Opcional. O volume do som, num número inteiro de 0% a 100%. O predefinido é 50%. |
Sons integrados |
Reproduzir som |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 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#
O comando play_file reproduz um som personalizado enviado pelo utilizador. Como este é um método sem espera, o robô reproduz o som personalizado e passa para o comando seguinte sem esperar que este termine.
Utilização:
robot.sound.play_file(file, volume)
Parâmetro |
Descrição |
|---|---|
|
Um dos ficheiros de som personalizados enviados pelo utilizador, de |
|
Opcional. O volume do som, num número inteiro de 0% a 100%. O predefinido é 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 reproduz uma nota específica durante uma duração específica em milissegundos. Como este é um método sem espera, o robô toca na nota específica e passa para o comando seguinte sem esperar que este termine.
Utilização:
robot.sound.play_note(note, length, volume)
Parâmetro |
Descrição |
|---|---|
|
A altura musical a tocar, escrita como uma sequência de notas (ex.: |
|
A duração da nota, expressa como um número inteiro em milissegundos. |
|
Opcional. O volume do som, num número inteiro de 0% a 100%. O predefinido é 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 interrompe o som que está a ser reproduzido.
Utilização:
robot.sound.stop()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# Cut a sound off after 1 second
robot.sound.play(ACT_SILLY)
wait(1, SECONDS)
robot.sound.stop()
Getters#
is_active#
is_active devolve um valor booleano indicando se um som está a ser reproduzido no momento.
True— Um som está a ser reproduzido no momentoFalse— Não está a ser reproduzido nenhum som
Utilização:
robot.sound.is_active()
Parâmetros |
Descrição |
|---|---|
Este método não tem parâmetros. |
# Play tada after cheer finishes
robot.sound.play(CHEER)
while robot.sound.is_active():
wait(10, MSEC)
robot.sound.play(TADA)