我正在尝试使用ipython显示音频。我的想法是,我有一个循环执行一些任务,当该循环的任务完成时,我希望发出警报。因此,循环显然是这样的:
for i in range(5):
if True:
IPython.display.Audio("alarm.mp3", autoplay=True)
else:
pass
但是,这根本没有发出任何声音,也没有创建小部件。我可以使用哪些其他库,或者如何使用ipython进行修复?
库Sounddevice可以做到这一点。将音频文件转换为WAV,然后:
from scipy.io import wavfile
import sounddevice as sd
fs, data = wavfile.read('alarm.wav')
for i in range(5):
if True:
sd.play(data, fs)
else:
pass
这很好地做到了。
如果您仍在研究此问题。我刚刚发现了有关playsound
的信息。非常简单的裸骨API,它是跨平台,甚至没有任何依赖。
您可以简单地在jupyter笔记本电脑中调用它,以阻止方式(即在主线程上)或异步。
import playsound
playsound.playsound(path, block=True)
在此处查看