เสียง#

การแนะนำ#

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

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

การกระทำ - เล่นและหยุดเสียง

  • play — เล่นเสียงในตัวจากรายการที่กำหนดไว้ล่วงหน้า

  • play_file — เล่นไฟล์เสียงที่ผู้ใช้อัปโหลด

  • play_note — เล่นโน้ตดนตรีด้วยระดับเสียง อ็อกเทฟ และระยะเวลาที่กำหนด

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

Getters - รับสถานะของเสียง

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