如何在python语音识别器中启动mp4文件



我正在创建一个python语音助手,参考了youtube教程。不幸的是,视频创作者有一个windows操作系统。所以他使用操作系统模块中的启动文件。但这在乌班图不起作用。这是视频制作者使用的代码:

elif 'play music' in query:     
music_dir = '/home/thilak/Music'
songs = os.listdir(music_dir)
print(songs)
os.startfile(os.path.join(music_dir, songs[0]))

但这对我来说并不奏效,所以我用了这个:

elif 'play music' in query:     
music_dir = '/home/thilak/Music'
songs = os.listdir(music_dir)
print(songs)
os.system(os.path.join(music_dir, songs[0])) #changing startfile to system

尽管如此,这个代码也显示了这样的错误消息:

Say that again please...
Listening....
recognizing...
User said: play music
['Despacito and senorita (copy).mp4', 'Curtis Waters - Stunnin’ (Lyrics) “ I’m a pretty boy,I’m stunning “-YVrha4CjldA.mkv', 'DJ Snake ft. Justin Bieber - Let Me Love You [Lyric Video]-SMs0GnYze34 (copy).mkv', 'Curtis Waters - Stunnin’ (Lyrics) “ I’m a pretty boy,I’m stunning “-YVrha4CjldA (copy).mkv', 'Despacito and senorita.mp4', 'DJ Snake ft. Justin Bieber - Let Me Love You [Lyric Video]-SMs0GnYze34.mkv']
sh: 1: Syntax error: "(" unexpected

请帮我解决这个问题。非常感谢。

如前所述,该代码适用于windows,使用ffmpegffplay如何

elif 'play music' in query:     
music_dir = '/home/thilak/Music'
songs = os.listdir(music_dir)
print(songs)
os.popen('ffplay -nodisp -autoexit "'+os.path.join(music_dir, songs[0])+'" >/dev/null 2>&1')

在使用上述代码之前,请记住使用apt安装ffmpeg

sudo apt-get update
sudo apt-get install ffmpeg

最新更新