首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python不工作的音乐播放器

Python不工作的音乐播放器
EN

Stack Overflow用户
提问于 2016-04-10 16:54:15
回答 1查看 184关注 0票数 1

我希望能够通过一个播放列表使用python播放多首歌曲,但它只会播放列表中的最后一首歌。请帮帮忙。

代码语言:javascript
复制
from pygame import mixer # Load the required library
from os import listdir
k = listdir('C:/LOCAL')
print(k)
mixer.init()
for x in k:
    y = "C:/LOCAL/" + x
    print y
    mixer.music.queue(y)
    mixer.music.load(y)
    mixer.music.play()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-10 17:30:12

你的问题是,你认为用游戏玩音乐会暂停程序,直到音乐结束--事实并非如此。结果,它尝试开始一首歌,然后又开始另一首,等等。

有几种方法试图纠正这一点。你可以:

  1. 使用游戏事件和“告诉”游戏在歌曲结束时触发事件(虽然这需要在游戏中打开显示面(窗口)),或者
  2. 检测歌曲的长度,并在这段时间内睡眠(这与当前代码更兼容)。

我将假设您希望使用选项2,因为您的代码与它一起运行得更好。

要获得MP3文件的长度(我还没有尝试过任何其他类型),您可以使用诱变剂库。

获取MP3文件长度的一些示例代码(以秒为单位):

代码语言:javascript
复制
from mutagen.mp3 import MP3
tracklength = MP3("/path/to/song.mp3").info.length

然后,您可以用ytime.sleep替换路径,以代替返回的时间,然后继续循环的下一次迭代。

希望这能有所帮助。

(而且,在加载文件之前不需要排队--只有loadplay)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36532668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档