소리#
소개#
VEX AIR 드론 컨트롤러를 사용하면 내장 사운드, 사용자 지정 오디오 파일 및 악보를 재생할 수 있습니다. 또한 사운드를 정지하고 현재 오디오가 재생 중인지 감지하는 기능도 포함되어 있습니다.
아래는 사용 가능한 모든 방법의 목록입니다.
동작 - 소리 재생 및 정지
play— 미리 정의된 목록에서 내장 사운드를 재생합니다.play_file— 사용자가 업로드한 사운드를 재생합니다.play_note— 지정된 피치, 옥타브 및 지속 시간을 가진 음표를 재생합니다.stop— 현재 재생 중인 모든 소리를 정지합니다.
Getters - 소리의 상태 가져오기
is_active— 현재 소리가 재생 중인지 확인합니다.
행위#
play#
play 버튼은 컨트롤러에 내장된 사운드 중 하나를 지정된 볼륨 비율로 재생합니다. 이 방식은 대기하지 않고 바로 다음 명령으로 넘어가므로, 컨트롤러는 내장 사운드 재생이 끝나기를 기다리지 않습니다.
용법:
controller.sound.play(sound, volume)
매개변수 |
설명 |
|---|---|
|
아래에 나열된 내장 사운드 옵션 중 하나입니다. |
|
선택 사항입니다. 소리의 볼륨을 0%에서 100% 사이의 정수로 지정합니다. 기본값은 50%입니다. |
내장 사운드 |
소리 재생 |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 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)
매개변수 |
설명 |
|---|---|
|
사용자가 업로드한 사용자 지정 사운드 파일 중 하나이며, |
|
선택 사항입니다. 소리의 볼륨을 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)
매개변수 |
설명 |
|---|---|
|
연주할 음높이는 문자열로 표기됩니다(예: |
|
음표의 지속 시간은 밀리초 단위의 정수로 표시됩니다. |
|
선택 사항입니다. 음량을 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!")