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 |
|---|---|
|
Az alábbiakban felsorolt beépített hangbeállítások egyike. |
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 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 |
|---|---|
|
A felhasználó által feltöltött egyéni hangfájlok egyike, |
|
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 |
|---|---|
|
A lejátszandó zenei hangmagasság, karakterláncként írva (pl. |
|
A hangjegy időtartama, egész számként megadva, milliszekundumban. |
|
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 megFalse— 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!")