循环播放歌曲python_在循环播放音乐,直到释放一个键。Python

我正在用python制作一个小GUI,使用cocos2d和pyglet模块。GUI应该在按下“h”时播放声音,释放时停止。问题是我找不到解决办法。在搜索了这个网站之后,我发现了这个问题-How to play music continuously in pyglet,这个问题是我不能让声音在它开始后停止。在

编辑:我找到了一种播放声音直到按键释放的方法,但是遇到了另一个问题

现在播放音乐的代码如下所示:class Heartbeat (cocos.layer.Layer):

is_event_handler=True

def __init__ (self):

super(Heartbeat, self).__init__()

global loop, music, player

music = pyglet.media.load('long_beep.wav')

loop=pyglet.media.SourceGroup(music.audio_format, None)

player=pyglet.media.Player()

loop.queue(music)

player.queue(loop)

def on_key_press(self, key, modifiers):

if chr(key)=='h':

loop.loop=True

player.play()

def on_key_release (self, key, modifiers):

if chr(key)=="h":

loop.loop=False

当第一次按下并按住“h”键时,此代码起作用,在随后的尝试中不起作用。Python不会引发异常,它似乎只是忽略了在第一次发布之后发生的“h”键按下。在

注意:语句-if chr(key)=="h"可能不是keypress处理的最佳解决方案,但我对使用cocos2d和pyglet模块还是比较陌生的。在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值