我正在编写一个简单的脚本,我希望通过计算机上的声音文件通知我。
虽然我可以通过以下方式播放声音文件:
import webbrowser
webbrowser.open("C:\Users\User\Desktop\Test\Test.mp3")
这将打开VLC或我拥有的任何媒体播放器,这可以替代我/干扰我正在做的任何事情。
有没有办法播放声音文件而不会弹出任何东西?我正在寻找的一个完美的例子是使用诸如使用winsound发出哔声之类的东西:
import winsound
Freq = 600 # Set Frequency To 600 Hertz
Dur = 800 # Set Duration To 800 ms == 0.8 second(s)
winsound.Beep(Freq,Dur)
无需打开任何新窗口即可发出快速哔声。
答案 0 :(得分:1)
这就是诀窍。 首先,安装pyglet:
pip install pyglet
现在下载并安装AVbin from here 请检查AVbin的安装位置,因为现在您必须转到安装目录并将avbin.dll复制到保存代码的目录。
最后,运行以下代码:
import pyglet
pyglet.lib.load_library('avbin')
pyglet.have_avbin=True
song = pyglet.media.load('filename.mp3')#your file name
song.play()
pyglet.app.run()
确保您的音乐文件与代码.py文件位于同一目录中。 根据我的经验做到这一点并且有效。
答案 1 :(得分:0)
@eryksun在评论中解决了以下问题:
winsound.PlaySound(wav_path, winsound.SND_FILENAME | winsound.SND_ASYNC)
对于我所寻找的内容,这是最好的解决方案。它使用默认库,只占用一条直线,并完成我需要的工作。