gpt4 book ai didi

python - Python 音乐播放器无法正常工作

转载 作者:行者123 更新时间:2023-12-01 04:00:56 25 4
gpt4 key购买 nike

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

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()

最佳答案

你的问题是你假设用 pygame 播放音乐会暂停程序直到音乐结束 - 事实并非如此。结果,它尝试开始一首歌曲,然后开始另一首,然后又开始,等等。

有几种方法可以尝试纠正这个问题。您可以:

  1. 使用 pygame 事件并“告诉”pygame 在歌曲结束时触发一个事件(尽管这需要在 pygame 中打开显示表面(窗口)),或者
  2. 检测歌曲的长度,并休眠该时间(这与您当前的代码更兼容)。

我假设您愿意执行选项 2,因为您的代码使用它效果更好。

要获取 MP3 文件的长度(我没有尝试过使用任何其他类型),您可以使用 Mutagen图书馆。

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

from mutagen.mp3 import MP3
tracklength = MP3("/path/to/song.mp3").info.length

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

希望有帮助。

(此外,您不需要在加载文件之前对其进行排队 - 只需加载播放)

关于python - Python 音乐播放器无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36532668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com