我正在使用Beep
模块中的winsound
函数创建一个简单的音乐播放程序。我正在尝试演奏多个" Beeps"立刻尝试诸如
from winsound import Beep
Beep(440, 2000) + Beep(330, 2000)
和
from winsound import Beep
Beep(440, 2000), Beep(330, 2000)
但它们都不起作用。我知道这可能有一个非常简单的答案,但我真的很感激一些帮助。谢谢!
答案 0 :(得分:0)
我不能在这个问题上与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()
有关线程模块的更多详细信息,您可以转到the document。
答案 1 :(得分:0)
试试这个
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()
这应该允许你同时播放声音(虽然我没有用哔哔声测试过)。