Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用winsound模块同时播放多个频率_Python_Python 3.x_Audio - Fatal编程技术网

Python 如何使用winsound模块同时播放多个频率

Python 如何使用winsound模块同时播放多个频率,python,python-3.x,audio,Python,Python 3.x,Audio,我正在使用winsound模块中的Beep功能创建一个简单的音乐播放程序。我正在尝试一次播放多个“哔哔”声,尝试诸如 from winsound import Beep Beep(440, 2000) + Beep(330, 2000) 及 但它们都不起作用。我知道这可能有一个非常简单的答案,但我真的非常感谢一些帮助。谢谢 我现在不能玩winsound,但我猜您可以使用threading模块来实现您的目标,如下所示: from winsound import Beep import threa

我正在使用
winsound
模块中的
Beep
功能创建一个简单的音乐播放程序。我正在尝试一次播放多个“哔哔”声,尝试诸如

from winsound import Beep
Beep(440, 2000) + Beep(330, 2000)


但它们都不起作用。我知道这可能有一个非常简单的答案,但我真的非常感谢一些帮助。谢谢

我现在不能玩
winsound
,但我猜您可以使用
threading
模块来实现您的目标,如下所示:

from winsound import Beep
import threading

# Start multi threads, so `Beep` will run simultaneously instead of blocking
threading.Thread(target=Beep, args=(440, 2000)).start()
threading.Thread(target=Beep, args=(330, 2000)).start()
有关线程模块的更多详细信息,请转到。

试试这个

import winsound  
from multiprocessing import Process
def func1():
     winsound.PlaySound("C:\samplepath\soundfile1.wav", winsound.SND_FILENAME|winsound.SND_NOWAIT)

def func2():
     winsound.PlaySound("C:\samplepath\soundfile2.wav", winsound.SND_FILENAME|winsound.SND_NOWAIT)

if __name__=='__main__':
     p1 = Process(target = func1)
     p1.start()
     p2 = Process(target = func2)
     p2.start()

这将允许您同时播放声音(尽管我没有用蜂鸣音测试过)。

模块如何?你可以试试。这似乎不起作用。您是否有机会尝试一下并创建一个工作版本?该函数只调用Windows API函数,而该函数不提供同时执行多次的方法。我尝试使用
winsound.SND_ASYNC
同时播放多个.wav声音文件,但也无法同时播放多个。这对
winsound.Beep
声音不起作用,只能听到第一个声音。离题:缩进Python代码5的空格是相当不寻常的。我建议你阅读(并开始跟随)这篇文章。此外,显示的文件路径无效,因为它们包含未正确转义的反斜杠。
import winsound  
from multiprocessing import Process
def func1():
     winsound.PlaySound("C:\samplepath\soundfile1.wav", winsound.SND_FILENAME|winsound.SND_NOWAIT)

def func2():
     winsound.PlaySound("C:\samplepath\soundfile2.wav", winsound.SND_FILENAME|winsound.SND_NOWAIT)

if __name__=='__main__':
     p1 = Process(target = func1)
     p1.start()
     p2 = Process(target = func2)
     p2.start()