Dźwięk#

Wstęp#

Kontroler drona VEX AIR umożliwia użytkownikom odtwarzanie wbudowanych dźwięków, niestandardowych plików audio i nut. Zawiera również elementy sterujące do zatrzymywania dźwięków i wykrywania, czy dźwięk jest aktualnie odtwarzany.

Poniżej znajduje się lista wszystkich dostępnych metod:

Akcje – Odtwarzanie i zatrzymywanie dźwięków

  • play — Odtwarza wbudowany dźwięk z predefiniowanej listy.

  • play_file — Odtwarza dźwięk przesłany przez użytkownika.

  • play_note — Odtwarza nutę muzyczną o określonej wysokości, oktawie i czasie trwania.

  • stop — Zatrzymuje aktualnie odtwarzany dźwięk.

Gettery - pobieranie statusu dźwięków

  • is_active — Sprawdza, czy dźwięk jest aktualnie odtwarzany.

Akcje#

play#

play odtwarza jeden z wbudowanych dźwięków kontrolera z określoną głośnością. Ponieważ jest to metoda bez oczekiwania, kontroler odtwarza wbudowany dźwięk i przechodzi do następnego polecenia bez czekania na jego zakończenie.

Stosowanie:

controller.sound.play(sound, volume)

Parametr

Opis

sound

Jedna z wbudowanych opcji dźwiękowych wymienionych poniżej.

volume

Opcjonalnie. Głośność dźwięku wyrażona jako liczba całkowita od 0% do 100%. Wartość domyślna to 50%.

Wbudowane dźwięki

Odtwórz dźwięk

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 odtwarza niestandardowy dźwięk załadowany przez użytkownika z określoną głośnością. Ponieważ jest to metoda bez oczekiwania, dron odtwarza niestandardowy dźwięk i przechodzi do następnego polecenia bez czekania na jego zakończenie.

Stosowanie:

controller.sound.play_file(file, volume)

Parametr

Opis

file

Jeden z niestandardowych plików dźwiękowych przesłanych przez użytkownika, od SOUND1 do SOUND10Numer dźwięku jest zgodny z numerem wyświetlanym w Panelu sterowania AIR.

volume

Opcjonalnie. Głośność dźwięku wyrażona jako liczba całkowita od 0% do 100%. Wartość domyślna to 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 odtwarza określoną nutę przez określony czas. Ponieważ jest to metoda bez oczekiwania, dron odtwarza określoną nutę i przechodzi do następnego polecenia bez czekania na jego zakończenie.

Stosowanie:

controller.sound.play_note(note, duration, volume)

Parametr

Opis

note

Wysokość dźwięku do zagrania, zapisana jako ciąg (np. C5, A#6). Prawidłowe nuty to A do G (z opcjonalnym # dla krzyżyków) w oktawach od 5 do 8.

duration

Czas trwania nuty wyrażony jako liczba całkowita w milisekundach.

volume

Opcjonalnie. Głośność nuty wyrażona jako liczba całkowita od 0% do 100%. Wartość domyślna to 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 zatrzymuje aktualnie odtwarzany dźwięk.

Stosowanie:

controller.sound.stop()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

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

Getters#

is_active#

is_active zwraca wartość logiczną wskazującą, czy dron aktualnie odtwarza dźwięk.

  • True — aktualnie odtwarzany jest dźwięk

  • False — Nie odtwarza się żaden dźwięk

Usage:
controller.sound.is_active()

Parametry

Opis

Ta metoda nie ma żadnych parametrów.

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