Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
音频文件未播放Python Pyglet_Python_Pyglet - Fatal编程技术网

音频文件未播放Python Pyglet

音频文件未播放Python Pyglet,python,pyglet,Python,Pyglet,我正在尝试使用pyglet播放音频文件,但出现以下错误。这是为什么?我如何修复它 代码: 错误: 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\C

我正在尝试使用pyglet播放音频文件,但出现以下错误。这是为什么?我如何修复它

代码:

错误:

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
回溯(最近一次呼叫最后一次):
文件“C:/Users/Christian.wargel/Desktop/audio/audio.py”,第4行,在
sound=pyglet.media.load(“air_raid.wav”,streaming=False)
文件“C:\Users\Christian.wargel\Documents\Python27\lib\site packages\pyglet\media\ \uuuuu init\uuuuu.py”,第1431行,已加载
source=静态源(source)
文件“C:\Users\Christian.wargel\Documents\Python27\lib\site packages\pyglet\media\\uuuuuu init\uuuuu.py”,第612行,在__
音频数据=源。获取音频数据(缓冲区大小)
文件“C:\Users\Christian.wargel\Documents\Python27\lib\site packages\pyglet\media\avbin.py”,第426行,在get\u audio\u数据中
数据包类型,数据包=self.\u进程\u数据包()
文件“C:\Users\Christian.wargel\Documents\Python27\lib\site packages\pyglet\media\avbin.py”,第397行,在进程包中
音频\数据=自身。\解码\音频\数据包()
文件“C:\Users\Christian.wargel\Documents\Python27\lib\site packages\pyglet\media\avbin.py”,第489行,在解码音频包中
持续时间=浮点(len(buffer))/self.audio\u format.bytes\u每秒
ZeroDivisionError:浮点除以零

使用Python 2.7在我的笔记本电脑上也可以使用相同的代码。我想你的.wav声音文件可能有问题。请检查您的声音文件是否为空。我从下载了sample14.wav,它真的很有效。您能测试相同的sample14.wav文件吗


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

同样的代码也适用于我的笔记本电脑上的python 2.7。我想你的.wav声音文件可能有问题。请检查您的声音文件是否为空。我从下载了sample14.wav,它真的很有效。您能测试相同的sample14.wav文件吗

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

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