繁体   English   中英

音频文件无法播放Python Pyglet

[英]Audio file not playing 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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM