首页 > 解决方案 > 为什么pygame混音器不能在运行时播放歌曲

问题描述

我创建了一组 Song 类对象,但在使用 pygame 混音器播放音乐时遇到问题。

照片

如您所见,我在工作目录中有 4 首歌曲,我创建了一组 Songs 对象,其中包含有关不同歌曲的信息。在我创建的特定函数上,getIndexName()它返回文件的名称。数组的名称是songsData

如果我要调用函数: mixer.music.load("song1.mp3)然后mixer.music.play() 它可以正常工作,但是如果我要调用: mixer.music.load(songsData[1].getIndexName())然后mixer.music.play()

我收到一个错误:

mixer.music.load(songsData[1].getIndexName())
pygame.error: Couldn't open 'song2.mp3

我认为我必须在编译时确定要播放哪个文件,但我不知道我是否认为正确。如果我是对的,是否有任何模块可以播放 mp3 文件(或 wav)并且我可以在运行时确定哪个文件?(比如随机调用)。

谢谢你的帮助!

标签: pythonpygame

解决方案


您可以使用 VLC 模块:

import vlc
p = vlc.MediaPlayer("file:///home/user/Music/song1.mp3")
p.play()

或尝试https://stackoverflow.com/a/68964908/11844784


推荐阅读