音频文件没有播放Python Pyglet

时间:2016-03-10 16:59:51

标签: python pyglet

我正在尝试使用pyglet播放音频文件,但我收到以下错误。为什么这样,我该如何解决?

代码:

import pyglet

player = pyglet.media.Player()
sound = pyglet.media.load("air_raid.wav", streaming=False)
player.queue(sound)
player.play()

错误:

Traceback (most recent call last):
  File "C:/Users/Christian.wargel/Desktop/audio/audio.py", line 4, in <module>
    sound = pyglet.media.load("air_raid.wav", streaming=False)
  File "C:\Users\Christian.wargel\Documents\Python27\lib\site-packages\pyglet\media\__init__.py", line 1431, in load
    source = StaticSource(source)
  File "C:\Users\Christian.wargel\Documents\Python27\lib\site-packages\pyglet\media\__init__.py", line 612, in __init__
    audio_data = source.get_audio_data(buffer_size)
  File "C:\Users\Christian.wargel\Documents\Python27\lib\site-packages\pyglet\media\avbin.py", line 426, in get_audio_data
    packet_type, packet = self._process_packet()
  File "C:\Users\Christian.wargel\Documents\Python27\lib\site-packages\pyglet\media\avbin.py", line 397, in _process_packet
    audio_data = self._decode_audio_packet()
  File "C:\Users\Christian.wargel\Documents\Python27\lib\site-packages\pyglet\media\avbin.py", line 489, in _decode_audio_packet
    duration = float(len(buffer)) / self.audio_format.bytes_per_second
ZeroDivisionError: float division by zero

1 个答案:

答案 0 :(得分:0)

使用Python 2.7在我的笔记本电脑上使用相同的代码。我想你的.wav声音文件可能有问题。请检查您的声音文件是否为空。我从http://download.wavetlan.com/SVV/Media/HTTP/http-wav.htm下载了sample14.wav,它确实有效。你可以测试相同的sample14.wav文件吗?

另一个可能的原因可能是你的pyglet版本与你的python版本不匹配。

相关问题