Âm thanh#

Giới thiệu#

Bộ điều khiển máy bay không người lái VEX AIR cho phép người dùng phát các âm thanh tích hợp sẵn, các tệp âm thanh tùy chỉnh và các nốt nhạc. Nó cũng bao gồm các nút điều khiển để dừng âm thanh và phát hiện xem âm thanh có đang phát hay không.

Dưới đây là danh sách tất cả các phương pháp hiện có:

Thao tác - Phát và Dừng âm thanh

  • play — Phát âm thanh tích hợp từ danh sách được xác định trước.

  • play_file — Phát âm thanh do người dùng tải lên.

  • play_note — Phát một nốt nhạc với cao độ, quãng tám và thời lượng được chỉ định.

  • stop — Dừng bất kỳ âm thanh nào đang phát.

Getters - Lấy trạng thái của âm thanh

  • is_active — Kiểm tra xem âm thanh hiện đang phát hay không.

Hành động#

play#

play phát một trong những âm thanh tích hợp sẵn của bộ điều khiển ở mức âm lượng phần trăm được chỉ định. Vì đây là phương pháp không chờ đợi, bộ điều khiển sẽ phát âm thanh tích hợp sẵn và chuyển sang lệnh tiếp theo mà không cần đợi lệnh đó kết thúc.

Cách sử dụng:

controller.sound.play(sound, volume)

Tham số

Sự miêu tả

sound

Một trong những tùy chọn âm thanh tích hợp được liệt kê bên dưới.

volume

Tùy chọn. Âm lượng, dưới dạng số nguyên từ 0% đến 100%. Mặc định là 50%.

Âm thanh tích hợp

Phát âm thanh

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#

Lệnh play_file phát một âm thanh tùy chỉnh do người dùng tải lên với tỷ lệ âm lượng được chỉ định. Vì đây là phương pháp không chờ, máy bay không người lái sẽ phát âm thanh tùy chỉnh và chuyển sang lệnh tiếp theo mà không cần đợi lệnh đó hoàn thành.

Cách sử dụng:

controller.sound.play_file(file, volume)

Tham số

Sự miêu tả

file

Một trong những tệp âm thanh tùy chỉnh do người dùng tải lên, từ SOUND1 đến SOUND10Số âm thanh trùng khớp với số hiển thị trong Bảng điều khiển AIR.

volume

Tùy chọn. Âm lượng, dưới dạng số nguyên từ 0% đến 100%. Mặc định là 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 phát một nốt nhạc cụ thể trong một khoảng thời gian cụ thể. Vì đây là phương pháp không chờ, nên âm thanh nền sẽ phát nốt nhạc cụ thể đó và chuyển sang lệnh tiếp theo mà không cần đợi lệnh đó kết thúc.

Cách sử dụng:

controller.sound.play_note(note, duration, volume)

Tham số

Sự miêu tả

note

Cao độ âm nhạc cần chơi, được viết dưới dạng chuỗi ký hiệu (ví dụ: C5, A#6). Các nốt hợp lệ là A đến G (với tùy chọn # cho các nốt thăng) trải dài từ quãng 5 đến 8.

duration

Thời lượng của nốt nhạc, được biểu thị bằng số nguyên tính bằng mili giây.

volume

Tùy chọn. Âm lượng của nốt nhạc, dưới dạng số nguyên từ 0% đến 100%. Mặc định là 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 dừng âm thanh đang phát.

Cách sử dụng:

controller.sound.stop()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

# 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()

Người nhận#

is_active#

is_active trả về giá trị Boolean cho biết liệu máy bay không người lái hiện có đang phát âm thanh hay không.

  • True — Hiện đang có âm thanh đang phát

  • False — Không có âm thanh nào đang phát

Usage:
controller.sound.is_active()

Thông số

Sự miêu tả

Phương pháp này không có tham số.

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