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

How to start an mp4 file in python speech recognizer?

我正在创建一个 python 语音助手,参考了 YouTube 教程。不幸的是,视频创作者有一个 windows os。所以他使用 OS 模块中的 startfile。但这在 ubuntu 中不起作用。这是视频制作者使用的代码:

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