playsound和preferredsoundplayer语言 - 声音问题?



我创建了一个小音频文件,我想在我的程序在终端/命令行窗口中运行它时一遍又一遍地循环,而不需要用户安装任何其他东西。我偶然发现了playsound;我一直试图让它像预期的那样工作,但没有任何运气。我的目标是在后台播放声音,而程序仍在后台运行(例如"audiofile", 0在这两种情况下),但使用该参数只会导致沉默,或者如果我循环它的静态奇怪的噪音,就像它开始相同的重叠时,另一个循环。还有-使用playsound,这个方法似乎只在Windows下工作,当我在我的ubuntu机器上运行它时,它说"Block=False不支持这个平台";所以为了测试,我选择了同步路线,现在音频工作(某种程度上),同时停止程序,直到声音播放完成。

这可能是通过在它自己的线程或其他东西中运行循环来绕过的,但它给了我另一个问题,而循环在下面的两个代码片段中工作,它增加了一个小延迟>在完成音轨并重新开始后的1秒不是我想要的,并且音频文件本身没有任何问题,如果我在audacity或类似的情况下一遍又一遍地循环轨道,这是一个完美的循环,所以问题必须与循环本身有关。我的原始音频文件是mp3格式的,经过一些研究后,我发现mp3格式在某些情况下可能会在开始时增加一点沉默,而wav更适合循环,所以我制作了wave文件,但同样的问题仍然发生。

playsound:

from playsound import playsound
def soundloop():
while True:
playsound("audio.wav", 1)
soundloop()

preferredsoundplayer:

from preferredsoundplayer import *
def soundloop():
while True:
soundplay("audio.wav", 1)

soundloop()

我希望能够通过"修复"来解决这个问题。Block=0在preferredsoundplayer(这是这两个似乎支持,即使在Linux下)或以某种方式摆脱使用上述方法的小延迟,并在它自己的线程中运行该函数,以避免程序停止,直到它循环一次。事先谢谢!

你可以尝试这样做:

from preferredsoundplayer import *
mywave = loopsound("audio.wav")
myinput = input("Enter any key to close")
stoploop(mywave)
print("bye")

最新更新