如何在 Windows 上的 Python 中在后台播放音乐?
Posted
技术标签:
【中文标题】如何在 Windows 上的 Python 中在后台播放音乐?【英文标题】:How can I play music in background in Python on Windows? 【发布时间】:2020-08-04 21:25:55 【问题描述】:我在 python 中做类似语音助手的事情。通过不同的模块,我设法下载了一个 youtube 视频并将其转换为 mp3。现在我想播放它并能够暂停它和其他动作。我尝试使用 pygame,但不打开窗口就无法使用它。有什么建议吗?
【问题讨论】:
你应该edit你的问题来澄清you need a Windows solution。 this 回答了类似的问题,可能会有所帮助 【参考方案1】:为此有很好的库。检查here。 您也可以使用终端命令,例如:
import os
os.system('xdg-open music.mp3')
# music is playing ...
我在 cli 中使用 MOC 播放器,可以在后台播放和暂停音乐,例如:
import os
os.system('moc -l music.mp3') #play music
os.system('moc -P music.mp3') #pause music
os.system('moc -U music.mp3') #unpause music
【讨论】:
是的,但没有人可以暂停它。 windows 的东西? @Filippo 我不知道 windows ,我在 linux 上使用它。【参考方案2】:你可以像这样用pip安装后在python中使用playsound模块
from playsound import playsound
playsound('audio.mp3', False)
False 参数让声音在后台播放
遗憾的是,这只能在 Windows 上运行,因为它是为 Windows 驱动程序实现的,直到现在
【讨论】:
【参考方案3】:通过使用 VLC
首先,安装vlc
$ pip install python-vlc
然后您可以将其添加到您的代码中
import vlc
player = vlc.MediaPlayer("/path/to/song.mp3")
player.play()
就像这样,您可以在后台播放音乐。 你甚至可以控制它!
# to pause music
player.pause()
# to stop music
player.stop()
你可以做一个这样的函数
import vlc
player = None
def play_music(path):
global player
if player is not None:
player.stop # this code stop old music (if exist) before starting new one
player = vlc.MediaPlayer(path)
player.play()
【讨论】:
以上是关于如何在 Windows 上的 Python 中在后台播放音乐?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 上的 Python 3 中连接到 MySQL?
如何在 Windows 上的 Python 中在后台播放音乐?
如何在 Windows 上的 Python 2.7 上安装 Tensorflow?