Zvuk#

Zavedení#

Ovladač dronu VEX AIR umožňuje 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á audio.

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

Akce - Přehrávání a zastavení zvuků

  • play — Přehraje vestavěný zvuk z předdefinovaného seznamu.

  • play_file — Přehraje zvuk nahraný uživatelem.

  • play_note — Přehraje hudební notu se zadanou výškou, oktávou a trváním.

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

Gettery - Získání stavu zvuků

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

Akce#

play#

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

Používání:

controller.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

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 přehraje vlastní zvuk načtený uživatelem s určenou hlasitostí v určitém procentu. Protože se jedná o metodu bez čekání, dron přehraje vlastní zvuk a přejde k dalšímu příkazu bez čekání na jeho dokončení.

Používání:

controller.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 AIR.

volume

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

Používání:

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

duration

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

volume

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

Používání:

controller.sound.stop()

Parametry

Popis

Tato metoda nemá žádné parametry.

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

Gettery#

is_active#

is_active vrací booleovskou hodnotu, která indikuje, zda dron aktuálně přehrává zvuk.

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

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

Usage:
controller.sound.is_active()

Parametry

Popis

Tato metoda nemá žádné parametry.

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