เสียง#

การแนะนำ#

หุ่นยนต์เขียนโค้ด VEX AIM มีเสียงให้เลือกใช้มากมาย ทั้งเสียงที่ติดตั้งมากับเครื่อง ไฟล์เสียงที่กำหนดเอง และโน้ตดนตรี นอกจากนี้ยังมีปุ่มควบคุมสำหรับหยุดเสียงและตรวจจับว่ากำลังมีการเล่นเสียงอยู่หรือไม่

ด้านล่างนี้คือรายการวิธีการทั้งหมด:

การกระทำ — เล่นหรือหยุดเสียง

  • play — เล่นเอฟเฟกต์เสียงในตัว

  • play_file — เล่นเสียงที่ผู้ใช้กำหนดเอง

  • play_note — เล่นโน้ตดนตรีเป็นระยะเวลาที่กำหนด

  • stop — หยุดเสียงที่กำลังเล่นอยู่ทั้งหมด

Getter — ตรวจสอบสถานะเสียง

  • is_active — คืนค่าว่าเสียงกำลังเล่นอยู่หรือไม่

การกระทำ#

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

หนึ่งในไฟล์เสียงที่ผู้ใช้กำหนดเองที่อัปโหลดมา ตั้งแต่ SOUND1 ถึง SOUND10หมายเลขเสียงตรงกับหมายเลขที่แสดงในแผงควบคุม 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

ระดับเสียงดนตรีที่จะเล่น เขียนเป็นสตริง (เช่น C5, A#6) โน้ตที่ถูกต้องคือ A ถึง G (โดยมี # สำหรับเสียงชาร์ปเป็นตัวเลือก) ในช่วงคู่แปดที่ 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)