如何异步使用playsound?

Posted

技术标签:

【中文标题】如何异步使用playsound?【英文标题】:How to use playsound Asynchronously? 【发布时间】:2020-11-16 12:50:59 【问题描述】:

我知道如果我这样做:

playsound("filepath.mp3", block=False)

它应该异步运行。

但是当我尝试它时,mp3文件不播放,当我将它设置为True(默认)时,mp3文件播放 - 但程序会停止播放 mp3 文件。

同样尝试在不同的线程上运行 playsound 只会导致错误:

TypeError: 'module' object is not callable

【问题讨论】:

这能回答你的问题吗? Play sound asynchronously in Python 这能回答你的问题吗? How do play audio (playsound) in background of Python script? 【参考方案1】:

在 maXbox 中使用 execstring:

   eng.Execstring('from playsound import playsound')
   eng.Execstring('playsound(r"C:\Program
                       Files\Streaming\maxbox4\maxbox4\airmaxloop3.mp3",0)')
  

【讨论】:

【参考方案2】:

你是这样导入playsound的吗

import playsound

from playsound import playsound

因为我发现除非你从 playsound 导入它是行不通的

【讨论】:

是的,它们都不起作用,如果我做 True 声音会播放,但如果我做 False 声音不会播放,程序会停止。我如何导入它也无关紧要,如果我做import playsound,那么我为playsound.playsound("file.mp3", False)from playsound import playsound 它只是playsound("file.mp3",False)。但问题仍然存在【参考方案3】:

我知道这是很晚的响应,但请这样做:

playsound("filepath.mp3" , 0)

【讨论】:

以上是关于如何异步使用playsound?的主要内容,如果未能解决你的问题,请参考以下文章

PlaySound的同步播放与异步播放

PlaySound的同步播放与异步播放

PlaySound的同步播放与异步播放

如何使用 PlaySound 同时执行其他功能?

如何使用 (IBAction)playsound:(id)sender 播放声音 [关闭]

如何使用 Python 中的 playsound 模块同时播放两种声音?