Pyglet在被多次调用后停止播放声音

时间:2015-04-17 04:09:55

标签: python macos audio mp3 pyglet

我需要单独检查大量的小型mp3文件。在python foreach文件循环中,我正在调用这个使用pyglet的函数:

def play(player,src):
  try:
    #music = pyglet.resource.media(src)
    music = pyglet.media.load(src, streaming=False)
    music.play()
    ans = raw_input("\tWas this sound good (r to replay, q to quit)? [y|n|r|q]: ")
    if (ans == 'r'): 
      return play(player,src)
    if (ans == 'q'):
      sys.exit(0)
    else:
      success = (ans == 'y')
  except pyglet.media.avbin.AVbinException, e:
    print "Exception playing file. Assuming bad."
    success = 0  
  print "%s -> %d" % ( src, success )
  return success

它适用于大约10个文件,但它只是停止静默工作。它表现得就像在播放声音,但只有沉默。是否有一些资源我应该卸载或解除分配?我在OS X上,最初必须安装AVBin才能让pyglet工作。

谢谢!

1 个答案:

答案 0 :(得分:0)

欢迎来到SO。

首先,您应该看一下jsfiddle DEMO功能,它为您提供了很多自动停止和释放资源的功能。

其次,如果您收到任何错误,请分享!

有些事情:

player.stop()
player.clear()

如果您喜欢在每次播放之间以手动方式进行操作,应该会有帮助。

{{1}}