13. 播放音乐与音效
在本项目中,你将学习如何让 PiCar-X 播放背景音乐或音效。你也可以播放自己存储的音乐文件。
开始之前
确保你已经准备好以下内容:
安装所有模块(重要) — 安装
robot-hat、vilib、picar-x模块,然后运行脚本i2samp.sh。
运行代码
cd ~/picar-x/example
sudo python3 13.sound_background_music.py
代码运行后,请按照终端中打印的提示进行操作。
按键以调用功能!
space: 播放音效(汽车喇叭)
c: 使用线程播放音效
q: 播放/停止音乐
代码
from time import sleep
from picarx.music import Music
import readchar
music = Music()
manual = '''
Input key to call the function!
space: Play sound effect (Car horn)
c: Play sound effect with threads
q: Play/Stop Music
'''
def main():
print(manual)
flag_bgm = False
music.music_set_volume(20)
while True:
key = readchar.readkey()
key = key.lower()
if key == "q":
flag_bgm = not flag_bgm
if flag_bgm is True:
music.music_play('../musics/slow-trail-Ahjay_Stelino.mp3')
else:
music.music_stop()
elif key == readchar.key.SPACE:
music.sound_play('../sounds/car-double-horn.wav')
sleep(0.05)
elif key == "c":
music.sound_play_threading('../sounds/car-double-horn.wav')
sleep(0.05)
if __name__ == "__main__":
main()
它是如何工作的?
与背景音乐相关的函数包括以下几个:
music = Music():声明对象。music.music_set_volume(20):设置音量,范围是 0~100。music.music_play('../musics/slow-trail-Ahjay_Stelino.mp3'):播放音乐文件,这里播放的是../musics路径下的 slow-trail-Ahjay_Stelino.mp3 文件。music.music_stop():停止播放背景音乐。
备注
你可以通过 filezilla 将不同的音效或音乐添加到 musics 或 sounds 文件夹中。