Zvuk#

Zavedení#

Zvuky kódovacího robota VEX AIM umožňují uživatelům přehrávat vestavěné zvuky, vlastní zvukové soubory a hudební noty. Obsahuje také ovládací prvky pro zastavení zvuků a detekci, zda se aktuálně přehrává zvuk.

Níže je uveden seznam všech metod:

Akce – Přehrát nebo zastavit zvuky.

  • play — Přehraje vestavěný zvukový efekt.

  • play_file — Přehraje uživatelsky nahraný vlastní zvuk.

  • play_note — Přehraje hudební notu po nastavenou dobu.

  • stop — Zastaví jakýkoli aktuálně přehrávaný zvuk.

Getter — Kontrola stavu zvuku.

  • is_active — Vrátí, zda se zvuk aktuálně přehrává.

Akce#

play#

play přehraje jeden z vestavěných zvuků robota s určenou procentuální hlasitostí. Protože se jedná o metodu bez čekání, robot přehraje vestavěný zvuk a přesune se k dalšímu příkazu bez čekání na jeho dokončení.

Používání:

robot.sound.play(sound, volume)

Parametr

Popis

sound

Jedna z níže uvedených možností vestavěného zvuku.

volume

Volitelné. Hlasitost zvuku jako celé číslo od 0 % do 100 %. Výchozí hodnota je 50 %.

Vestavěné zvuky

Přehrát zvuk

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 přehraje vlastní zvuk nahraný uživatelem. Protože se jedná o metodu bez čekání, robot přehraje vlastní zvuk a přesune se k dalšímu příkazu bez čekání na jeho dokončení.

Používání:

robot.sound.play_file(file, volume)

Parametr

Popis

file

Jeden z vlastních zvukových souborů nahraných uživatelem, od SOUND1 do SOUND10Číslo zvuku se shoduje s číslem zobrazeným v ovládacím panelu AIM.

volume

Volitelné. Hlasitost zvuku jako celé číslo od 0 % do 100 %. Výchozí hodnota je 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 přehraje specifickou notu po specifickou dobu v milisekundách. Protože se jedná o metodu bez čekání, robot přehraje specifickou notu a přejde k dalšímu příkazu bez čekání na jeho dokončení.

Používání:

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

Parametr

Popis

note

Hudební výška, která se má hrát, zapsaná jako struna (např. C5, A#6). Platné noty jsou A až G (s volitelnými # pro křížky) napříč oktávami 5 až 8.

length

Délka trvání noty udaná jako celé číslo v milisekundách.

volume

Volitelné. Hlasitost zvuku jako celé číslo od 0 % do 100 %. Výchozí hodnota je 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 zastaví aktuálně přehrávaný zvuk.

Používání:

robot.sound.stop()

Parametry

Popis

Tato metoda nemá žádné parametry.

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

Gettery#

is_active#

is_active vrací booleovskou hodnotu označující, zda se zvuk aktuálně přehrává.

  • True — Právě se přehrává zvuk

  • False — Nepřehrává se žádný zvuk

Používání:

robot.sound.is_active()

Parametry

Popis

Tato metoda nemá žádné parametry.

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