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 |
|---|---|
|
Jedna z wbudowanych opcji dźwiękowych wymienionych poniżej. |
|
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 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 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 |
|---|---|
|
Jeden z niestandardowych plików dźwiękowych przesłanych przez użytkownika, od |
|
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 |
|---|---|
|
Wysokość dźwięku do zagrania, zapisana jako ciąg (np. |
|
Czas trwania nuty wyrażony jako liczba całkowita w milisekundach. |
|
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ękFalse— 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!")