2

我正在创建一个参考 youtube 教程的 python 语音助手。不幸的是,视频创建者有一个 Windows 操作系统。所以他使用 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

请帮我解决这个问题。谢谢!

4

1 回答 1

1

ffmpeg如给定的那样,该代码适用于 Windows,使用's怎么样ffplay

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
于 2020-12-27T05:51:35.947 回答