声音#

介绍#

VEX AIM 编程机器人的声音功能允许用户播放内置声音、自定义音频文件和音符。它还包含用于停止声音和检测音频是否正在播放的控件。以下是所有可用方法的列表:

动作——播放或停止声音。

  • play – Plays a built-in sound effect.

  • play_file – Plays a user-uploaded custom sound.

  • play_note – Plays a musical note for a set duration.

  • stop – Stops any currently playing sound.

Getter – 检查声音状态。

  • is_active – Returns whether a sound is currently playing.

行动#

play#

play 以指定的音量百分比播放机器人内置的声音之一。由于这是一种非等待方法,机器人会播放内置声音并转到下一个命令,而无需等待其完成。

用法:

robot.sound.play(sound, volume)

范围

描述

sound

下面列出的内置声音选项之一。

volume

可选。声音的音量,以 0% 到 100% 之间的整数表示。默认值为 50%。

内置声音

播放声音

ACT_ANGRY

ACT_EXCITED

ACT_HAPPY

ACT_SAD

ACT_SILLY

BLINKER

BRAKES

CHEER

CHIRP

COMPLETE

CRASH

DETECTED

DOORBELL

FAIL

FLOURISH

HUAH

LOOPING

MOVE_FORWARD

MOVE_REVERSE

OBSTACLE

PAUSE

PICKUP

RECEIVE

RESUME

SENSING

SEND

SPARKLE

TADA

TURN_LEFT

TURN_RIGHT

# Play cheer
robot.sound.play(CHEER)

# Play cheer at full volume
robot.sound.play(CHEER, 100)

# Wait until sound is finished to move
robot.sound.play(ACT_HAPPY)
while robot.sound.is_active():
    wait(50, MSEC)
robot.turn_to(180)

play_file#

play_file 播放用户上传的自定义声音。由于这是一个非等待方法,机器人会播放自定义声音并转到下一个命令,而无需等待其完成。

用法:

robot.sound.play_file(file, volume)

范围

描述

file

用户上传的自定义声音文件之一,从 SOUND1SOUND10。声音编号与 AIM 控制面板中显示的编号一致。

volume

可选。声音的音量,以 0% 到 100% 之间的整数表示。默认值为 50%。

# Play an uploaded sound
robot.sound.play_file(SOUND1)

# Play an uploaded sound at full volume
robot.sound.play_file(SOUND1, 100)

# Wait until sound is finished to move
robot.sound.play_file(SOUND1)
while robot.sound.is_active():
    wait(50, MSEC)
robot.turn_to(180)

play_note#

play_note会在特定时长(以毫秒为单位)内播放特定音符。由于这是一种非等待方法,机器人会播放特定音符并移动到下一个命令,而无需等待其完成。

用法:

robot.sound.play_note(note, length, volume)

范围

描述

note

要演奏的音高,以字符串形式表示(例如 C5A#6)。有效音符为 AG(可选 # 表示升号),横跨 5 到 8 个八度。

length

音符的持续时间,以毫秒为单位的整数表示。

volume

可选。音符的音量,取值范围为 0% 到 100% 之间的整数。默认值为 50%。

# Play C5 for 2 seconds
robot.sound.play_note("C5", 2000)

# Play C5 for 2 seconds at full volume
robot.sound.play_note("C5", 2000, 100)

# Wait until note is finished to move
robot.sound.play_note("C6", 1000)
while robot.sound.is_active():
    wait(50, MSEC)
robot.turn_to(180)

stop#

stop 停止当前正在播放的声音。

用法:

robot.sound.stop()

参数

描述

该方法没有参数。

# Cut a sound off after 1 second
robot.sound.play(ACT_SILLY)
wait(1, SECONDS)
robot.sound.stop()

吸气剂#

is_active#

is_active 返回一个布尔值,指示声音是否正在播放。

  • True – 正在播放声音

  • False – 没有播放声音

用法:

robot.sound.is_active()

参数

描述

该方法没有参数。

# Play tada after cheer finishes
robot.sound.play(CHEER)   
while robot.sound.is_active():
    wait(10, MSEC)
robot.sound.play(TADA)