Звук#

Введение#

Контроллер дрона 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!")