简而言之,我想在后台随机播放一个.mp3文件文件夹,以便仍然可以运行一个程序。我在Mac OS X上。我设法使用Glob
来获取列表中的所有文件,然后可以使用playound插件found here.播放它们。但是,此脚本会阻止其他所有文件运行,直到所有歌曲完成不是我想要的。我尝试使用此代码来pygame
... pip install pygame
(工作成功),然后...
import pygame
pygame.mixer.init()
pygame.mixer.music.load("file.mp3")
pygame.mixer.music.play()
但这总是返回相同的错误,pygame.error: MPEG file does not have any audio stream.
因此,我将文件放在列表中,但无法在后台播放它们。有人可以帮忙吗?
更新代码:
我实际上设法用下面的代码播放声音了……
import time
import glob
import pygame
pygame.mixer.init()
def play_my_mix(data = "error"):
for file in glob.glob("data/music/mix/*.mp3"):
pygame.mixer.music.load(file)
pygame.mixer.music.play()
print("test")
play_my_mix()
print("apple")
time.sleep(15)
但是音频质量很差。听起来有点扭曲和缓慢。 time.sleep(15)
行可以使程序保持运行,因为否则它将停止,考虑到这是一个测试,所以可以。但是我确实将其更改为此...
x = 1
while x == 1:
print("good")
万一这与时间有关,但根本没有改变。
答案 0 :(得分:0)
所以我用编辑中提到的更新代码修复了第一部分。通过将pygame.mixer.init()
更改为pygame.mixer.init(44100, -16, 2, 2048)