我正在使用 pyglet 的 Player 类在 python 中编写一个音频播放器。该模块只是对 Player 和 Source 类的测试,它不会产生任何结果。没有声音,没有错误,只有一个关于垂直同步的警告,可能与实际问题无关。
import pyglet.media as media
def main():
fname='D:\\Music\\JRR Tolkien\\LotR Part I The Fellowship of the Ring\\01-- 0001 Credits.mp3'
src=media.load(fname)
player=media.Player()
player.queue(src)
player.volume=1.0
player.play()
if __name__=="__main__":
main()
此外,src.play() 也不执行任何操作。我做错了什么?
编辑:我还确认 media.driver
是 media.drivers.directsound
模块。我担心它正在使用silent
。
最佳答案
你必须以某种方式启动 pyglet 循环。除了绘制屏幕之外,还调用事件处理程序并播放声音。
import pyglet
import pyglet.media as media
def main():
fname='D:\\test.mp3'
src=media.load(fname)
player=media.Player()
player.queue(src)
player.volume=1.0
player.play()
try:
pyglet.app.run()
except KeyboardInterrupt:
player.next()
if __name__=="__main__":
main()
类似的东西是可行的,但如果你使用 Pyglet 也肯定你会想要画一些东西。
关于python - Pyglet 玩家无法玩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17077755/