Hang#

Bevezetés#

A VEX AIM kódolórobot hangjai lehetővé teszik a felhasználók számára beépített hangok, egyéni hangfájlok és hangjegyek lejátszását. Vezérlőket is tartalmaz a hangok leállítására és a lejátszás alatt álló hang észlelésére.

Az alábbiakban felsoroljuk az összes módszert:

Műveletek — Hangok lejátszása vagy leállítása.

  • play — Beépített hangeffektust játszik le.

  • play_file — Lejátszik egy felhasználó által feltöltött egyéni hangot.

  • play_note — Egy hangjegyet játszik le egy megadott ideig.

  • stop — Leállítja az aktuálisan lejátszott hangot.

Getter – Hang állapotának ellenőrzése.

  • is_active — Visszaadja, hogy egy hang lejátszás alatt áll-e.

Műveletek#

play#

play A robot beépített hangjainak egyikét játssza le a megadott hangerőszázalékon. Mivel ez egy várakozás nélküli módszer, a robot lejátssza a beépített hangot, és a következő parancsra lép anélkül, hogy megvárná annak befejezését.

Használat:

robot.sound.play(sound, volume)

Paraméter

Leírás

sound

Az alábbiakban felsorolt ​​beépített hangbeállítások egyike.

volume

Opcionális. A hangerő egész számként 0%-tól 100%-ig. Az alapértelmezett érték 50%.

Beépített hangok

Hang lejátszása

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 A felhasználó által feltöltött egyéni hangot játszik le. Mivel ez egy várakozásmentes metódus, a robot lejátssza az egyéni hangot, és a következő parancsra lép anélkül, hogy megvárná annak befejezését.

Használat:

robot.sound.play_file(file, volume)

Paraméter

Leírás

file

A felhasználó által feltöltött egyéni hangfájlok egyike, SOUND1 től SOUND10ig. A hang száma megegyezik az AIM kezelőpaneljén látható számmal.

volume

Opcionális. A hangerő egész számként 0%-tól 100%-ig. Az alapértelmezett érték 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 Egy adott hangot játszik le milliszekundumban megadott ideig. Mivel ez egy várakozás nélküli módszer, a robot lejátssza az adott hangot, és a következő parancsra lép anélkül, hogy megvárná annak befejezését.

Használat:

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

Paraméter

Leírás

note

A lejátszandó zenei hangmagasság, karakterláncként írva (pl. C5, A#6). Érvényes hangjegyek A -től G -ig (opcionálisan # az éles hangokhoz) az 5-8. oktávokban.

length

A hangjegy időtartama, egész számként megadva, milliszekundumban.

volume

Opcionális. A hangerő egész számként 0%-tól 100%-ig. Az alapértelmezett érték 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 leállítja az éppen lejátszott hangot.

Használat:

robot.sound.stop()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

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

Getterek#

is_active#

is_active Egy logikai értéket ad vissza, amely jelzi, hogy egy hang lejátszásra kerül-e éppen.

  • True — Jelenleg egy hang szólal meg

  • False — Nincs hang lejátszása

Használat:

robot.sound.is_active()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

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