我使用sounddevice
录制和播放python音频。我使用的是一个非常简单的代码,它在python解释器中运行良好:
import sounddevice as sd
from time import sleep
fs = 44100
myrec = sd.rec(int(fs*3), samplerate=fs, channels=2)
sleep(3)
sd.play(myrec, fs)
然而,当我试图从python文件(或使用PyCharm(运行此代码时,它根本无法运行。导致这种情况发生的代码出了什么问题?
问题是声音设备在后台播放音频。当脚本结束时,它不会等待播放完成。在Python解释器中,您可以留在会话中进行侦听,但从脚本中您需要明确地等待它:
import sounddevice as sd
from time import sleep
fs = 44100
myrec = sd.rec(int(fs*3), samplerate=fs, channels=2)
sd.wait()
sd.play(myrec, fs)
sd.wait()