Hang#

Bevezetés#

A VEX AIR drónvezérlő lehetővé teszi 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 elérhető módszert:

Műveletek - Hangok lejátszása és leállítása

  • play — Beépített hangot játszik le egy előre definiált listából.

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

  • play_note — Megadott hangmagasságú, oktávú és időtartamú hangjegyet játszik le.

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

Getters - Hangok állapotának lekérése

  • is_active — Ellenőrzi, hogy éppen lejátszás alatt áll-e egy hang.

Műveletek#

play#

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

Használat:

controller.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ő 0% és 100% közötti egész számként. Az alapértelmezett érték 50%.

Beépített hangok

Hang lejátszása

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 A felhasználó által betöltött egyéni hangot játssza le a megadott hangerőszázalékon. Mivel ez egy várakozás nélküli metódus, a drón lejátssza az egyéni hangot, és a következő parancsra ugrik anélkül, hogy megvárná annak befejezését.

Használat:

controller.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 AIR vezérlőpulton látható számmal.

volume

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

Használat:

controller.sound.play_note(note, duration, 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.

duration

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

volume

Opcionális. A hangjegy hangereje 0% és 100% közötti egész számként. Az alapértelmezett érték 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 leállítja az éppen lejátszott hangot.

Használat:

controller.sound.stop()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

# 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()

Getterek#

is_active#

is_active Egy logikai értéket ad vissza, amely azt jelzi, hogy a drón jelenleg lejátszik-e hangot.

  • True — Jelenleg egy hang szólal meg

  • False — Nincs hang lejátszása

Usage:
controller.sound.is_active()

Paraméterek

Leírás

Ennek a metódusnak nincsenek paraméterei.

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