Python中文
首页
教程
问答
标签
搜索
登录
注册
如何在不挂起/冻结pygame混音器的情况下正确地打开和关闭音乐文件?
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我正在用Python2.7开发一个音乐播放器,有个问题我无法解决。在</p> <p>有时需要卸载我正在播放的SD卡。 因为pygame在<em>pygame.mixer.stop.停止()</em>和<em>pygame.mixer.quit.退出()</em> 命令,无法卸载卡。在</p> <p>因此,我修改了代码,使用文件打开和关闭命令,以便能够在卸载之前正确关闭播放的文件。这样卸载就可以正常工作了。在</p> <p>我的问题是,python在播放第一首音乐时总是挂起。没有任何异常或错误消息,播放只是停止,程序不响应任何用户输入,甚至Ctrl+C也无法从shell退出执行。在</p> <p>这种悬挂总是在随机的时间发生,在游戏开始后的1到40秒之间。 如果我直接用游戏机。混音器。音乐.load(myfile)命令,不使用打开/关闭解决方案,我从来没有任何挂起,程序甚至可以正常播放几个小时。在</p> <p>我应该使用什么解决方案来正确关闭播放的文件(以便能够卸载存储卡)并避免程序挂起?在</p> <p>这是我代码的相关部分。它关闭上一个播放会话并开始播放新文件。在</p> <pre><code>FailedMusicLoad = 0 pygame.mixer.music.stop() pygame.mixer.stop() pygame.mixer.quit() try: PlayedMp3File.close() except AttributeError: pass try: # test if selected music file can be loaded PlayedMp3File = open(Selectedmp3) except IOError: FailedMusicLoad = 1 if FailedMusicLoad <> 1: pygame.mixer.init(frequency=musicforlength.info.sample_rate) pygame.mixer.music.set_volume(MainVolume) pygame.mixer.music.load(PlayedMp3File) pygame.mixer.music.play() </code></pre>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我找到了一个简单的解决方法来卸载SD卡。在</p> <p>在卸载它之前,我使用游戏机。混音器。音乐.load()命令。我没有开始播放这个虚拟文件,只要打开它。 之后就没有任何问题了,SD卡似乎被pygame正确释放了,我可以卸载它。在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
我想从用户inpu创建一个类的实例
10 回答
我想从用户导入值,为此
1 回答
我想从用户那里得到一个整数输入,然后让for循环遍历该数字,然后调用一个函数多次
2 回答
我想从用户那里收到一个列表,并在其中执行一些步骤,然后在步骤完成后将其打印回来,但它没有按照我想要的方式工作
10 回答
我想从用户那里获取输入,并将值传递给(average=dict[x]/6),然后在那里获取resu
7 回答
我想从第一个列表中展示第一个词,然后从第二个列表中展示十个词,以此类推- Python
3 回答
我想从第一个空lin开始解析文本文件
7 回答
我想从简历、简历中提取特定部分
1 回答
我想从给定字典(python)的字符串中删除\u00a9、\u201d和类似的字符。
1 回答
我想从给定的网站Lin下载许多文件扩展名相同的Wget或Python文件
8 回答
我想从网上搜集一些关于抵押贷款的数据
5 回答
我想从网站上删除电子邮件地址
10 回答
我想从网站上读取数据该网站包含可下载的文件,然后我想用python脚本把它发送给oracle如何?
7 回答
我想从网站中提取数据,然后将其显示在我的网页上
7 回答
我想从网页上提取统计数据。
9 回答
我想从网页上解析首都城市,并在用户输入国家时在终端上打印它们
2 回答
我想从色彩图中删除前n个颜色,而不丢失原始颜色数
3 回答
我想从课堂上打印字典里的键
5 回答
我想从费用表中获取学生上次支付的费用,其中学生id=id
4 回答
我想从较低的顺序对多重列表进行排序,但我无法在一行中生成结果
9 回答