我正在使用pyglet的Player类在python中编写音频播放器。该模块只是对Player和Source类的测试,不会产生任何结果。没有声音,没有错误,只是有关vsync的警告,可能与实际问题无关。

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.drivermedia.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/

10-15 05:30