python - 如何在不打开任何媒体播放器的情况下播放声音文件?

标签 python windows python-2.7 audio

我正在编写一个简单的脚本,希望通过计算机上的声音文件将事件通知我。

虽然我可以通过以下方式播放声音文件:

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)

无需打开任何新窗口即可发出快速蜂鸣声。

最佳答案

这可以解决问题。
首先,安装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文件位于同一目录中。
根据我的经验,这样做是否奏效。

关于python - 如何在不打开任何媒体播放器的情况下播放声音文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41399804/

相关文章:

python - Chainer:无法分类,训练模型(x)抛出错误

python - Flask Shell 命令不起作用

python - 显示许多 4x2 绘图

python - 如何有条件地转换 pandas 数据框列

Python电话类---打印无

windows - MFC中如何获取子菜单?

c++ - 通过 WinAPI 打开/关闭/管理 Windows 8 应用程序

c++ - 在 Linux 上使用 mingw 时未定义对 `__imp_*` 的引用

python - 磁盘寻道时间测量方法

python-2.7 - Python--写入文件添加空字符