停止声音设备音频输出中的循环
Stop the loop in sounddevice audio output
问题是当我使用声音设备的循环选项循环播放时,我无法让它停止。
import soundfile as sf
import sounddevice as sd
weight = 1.4
data, fs = sf.read('sound.wav')
sd.play(data * weight, fs, blocking=True,loop=True)
sd.stop()
循环开始后如何停止循环。是否可以编写一个函数,以便在调用该函数时循环停止并关闭音频流?
问题是您设置的 blocking=True
不允许任何其他函数在此退出前设为 运行。结合 loop=True
,这会产生一个无限循环。
你想要的是:
import soundfile as sf
import sounddevice as sd
weight = 1.4
data, fs = sf.read('sound.wav')
sd.play(data * weight, fs,loop=True)
sd.stop()
希望对您有所帮助!
问题是当我使用声音设备的循环选项循环播放时,我无法让它停止。
import soundfile as sf
import sounddevice as sd
weight = 1.4
data, fs = sf.read('sound.wav')
sd.play(data * weight, fs, blocking=True,loop=True)
sd.stop()
循环开始后如何停止循环。是否可以编写一个函数,以便在调用该函数时循环停止并关闭音频流?
问题是您设置的 blocking=True
不允许任何其他函数在此退出前设为 运行。结合 loop=True
,这会产生一个无限循环。
你想要的是:
import soundfile as sf
import sounddevice as sd
weight = 1.4
data, fs = sf.read('sound.wav')
sd.play(data * weight, fs,loop=True)
sd.stop()
希望对您有所帮助!