如何使用 Python 中的 playsound 模块同时播放两种声音?
Posted
技术标签:
【中文标题】如何使用 Python 中的 playsound 模块同时播放两种声音?【英文标题】:How could I play two sounds at the same time using the playsound module in Python? 【发布时间】:2020-01-18 16:30:40 【问题描述】:代码如下:
from playsound import playsound
import keyboard
key_to_sound =
'1': 'a.wav',
'2': 'b.wav',
'3': 'c.wav',
'4': 'd.wav',
'5': 'e.wav',
'6': 'f.wav',
'7': 'g.wav'
while True:
key = keyboard.read_key()
if key == 'num_1':
break # breaks if num1 pressed
elif key in key_to_sound:
playsound(key_to_sound[key])
“@timgeb”帮助我编写了这段代码,顺便说一句。有什么办法可以让这个模块一次播放多个声音,还是我必须使用更复杂的模块?
【问题讨论】:
这能回答你的问题吗? How do play audio (playsound) in background of Python script? 不要添加问题的答案。如果您想发布自己问题的答案,可以单独发布答案。但是我认为它已经有一个正是你所拥有的答案,所以真的没有必要。除此之外,您对答案的解释毫无意义。我看不出有什么区别。 谁是“timgeb”?它指的是什么?其他一些堆栈溢出问题? This Stack Overflow question? 【参考方案1】:来自documentation:
还有一个可选的第二个参数,block,默认设置为 True。将其设置为 False 会使函数异步运行。
这意味着它会在声音继续播放时立即返回,所以播放两个声音:
playsound( sound1, False ) ;
playsound( sound2, False ) ;
第二个playsound
可能同样被阻塞:
playsound( sound1, False ) ;
playsound( sound2, True ) ;
【讨论】:
@Supremayro420 您是否点击了链接或阅读了他们的答案?就在那儿。 @Supremayro420 :我想我刚才已经解释过了。 @Supremayro420 有用吗?我不是 Python 程序员,也从未尝试过。我刚刚阅读了文档! @Clifford 是的,只是尝试在运行所有 playsound 的最新行添加一个错误语句,我通常必须执行 playsound('oof.wav', False)以上是关于如何使用 Python 中的 playsound 模块同时播放两种声音?的主要内容,如果未能解决你的问题,请参考以下文章
python winsound.playsound 找不到我的声音文件
解决Python使用playsound播放音频报错:在用引号括起的字符串不能指定额外的字符