声音没有完全播放?

Sound not playing fully?

问题是当我播放声音时 stops/cuts 在完成播放之前。 (声音不到1秒)

import pyglet
#from time import sleep

window = pyglet.window.Window()

# i use this for my code.
#pyglet.resource.path = ['/resources']
#pyglet.resource.reindex()
#bullet_sound = pyglet.resource.media("bullet.wav", streaming=False)
                                            ## streaming fix's an error message

bullet_sound = pyglet.media.load("/resources/bullet.wav", streaming=False)

@window.event
def on_key_press(symbol, modifiers):
    # sound only plays for a millisecond 
    bullet_sound.play()

    # this lets the sound complete
    #sleep(1)

    # also tried this with 'update()'
    #player.queue(bullet_sound)

#def update(dt):
#    player.play()
#pyglet.clock.schedule_interval(update, 1/120.0)

pyglet.app.run()

google 搜索时,我似乎找不到任何相关信息。睡觉使声音结束,所以我想这与它过早地降低声音有关。但是我怎么让它不这样做呢?

我什至尝试使用播放器,将其放入更新函数中并从事件中排队,但这并没有改变任何东西。

linuxmint 上的分段错误、声音切割、异常太大、与声音相关的问题可能是由 Linux/PulseAudio 引起的,正在使用 OpanAL 进行修复,安装(可能预安装在 mint 上) 然后在导入 pyglet 后添加一行以使用它:

pyglet.options['audio'] = ('openal', 'silent')