Звук#

Вступ#

Контролер дрона VEX AIR дозволяє користувачам відтворювати вбудовані звуки, власні аудіофайли та музичні ноти. Він також містить елементи керування для зупинки звуків та визначення того, чи відтворюється аудіо на даний момент.

Нижче наведено список усіх доступних методів:

Дії – Відтворення та зупинка звуків

  • play — Відтворює вбудований звук із попередньо визначеного списку.

  • play_file — Відтворює звук, завантажений користувачем.

  • play_note — Відтворює музичну ноту із заданою висотою тону, октавою та тривалістю.

  • stop — Зупиняє будь-який поточний звук.

Геттери - Отримання статусу звуків

  • is_active — Перевіряє, чи відтворюється звук на даний момент.

Дії#

play#

play відтворює один із вбудованих звуків контролера з заданим відсотком гучності. Оскільки це метод без очікування, контролер відтворює вбудований звук і переходить до наступної команди, не чекаючи її завершення.

Використання:

controller.sound.play(sound, volume)

Параметр

Опис

sound

Один із вбудованих звукових параметрів, перелічених нижче.

volume

Необов’язково. Гучність звуку як ціле число від 0% до 100%. Значення за замовчуванням — 50%.

Вбудовані звуки

Відтворити звук

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 відтворює власний звук, завантажений користувачем, із заданим відсотком гучності. Оскільки це метод без очікування, дрон відтворює власний звук і переходить до наступної команди, не чекаючи її завершення.

Використання:

controller.sound.play_file(file, volume)

Параметр

Опис

file

Один із завантажених користувачем користувацьких звукових файлів, від SOUND1 до SOUND10Номер звуку збігається з номером, що відображається на панелі керування AIR.

volume

Необов’язково. Гучність звуку як ціле число від 0% до 100%. Значення за замовчуванням — 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 відтворює певну ноту протягом певного часу. Оскільки це метод без очікування, дрон відтворює певну ноту та переходить до наступної команди, не чекаючи її завершення.

Використання:

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

Параметр

Опис

note

Музична висота звуку для відтворення, записана у вигляді струни (наприклад, C5, A#6). Допустимі ноти: від A до G (з додатковими # для дієзів) по октавах від 5 до 8.

duration

Тривалість ноти, задана цілим числом у мілісекундах.

volume

Необов’язково. Гучність ноти як ціле число від 0% до 100%. Значення за замовчуванням — 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 зупиняє звук, який наразі відтворюється.

Використання:

controller.sound.stop()

Параметри

Опис

Цей метод не має параметрів.

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

Геттери#

is_active#

is_active повертає логічне значення, яке вказує, чи відтворює дрон звук на даний момент.

  • True — Наразі відтворюється звук

  • False — Звук не відтворюється

Usage:
controller.sound.is_active()

Параметри

Опис

Цей метод не має параметрів.

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