我的用户如何能够录制任意长时间的音频,并使用python中的sounddevice暂停音频?

我的用户如何能够录制任意长时间的音频,并使用python中的sounddevice暂停音频?,python,python-3.x,python-sounddevice,Python,Python 3.x,Python Sounddevice,我正在我的项目中使用sounddevice、scipy和playsound。我有一个名为record.py的文件,其来源如下: import sounddevice as sd from scipy.io.wavfile import write from playsound import playsound fs = 44100 # this is the frequency sampling; also: 4999, 64000 seconds = 5 # Duration of re

我正在我的项目中使用sounddevicescipyplaysound。我有一个名为record.py的文件,其来源如下:

import sounddevice as sd
from scipy.io.wavfile import write
from playsound import playsound

fs = 44100  # this is the frequency sampling; also: 4999, 64000
seconds = 5  # Duration of recording

myrecording = sd.rec(int(seconds * fs), samplerate=fs, channels=2)
print("Starting: Speak now!")
sd.wait()  # Wait until recording is finished
print("finished")
write('output.wav', fs, myrecording)  # Save as WAV file
playsound("output.wav")

上面给出的代码工作正常,但我有一个问题。您可能已经注意到源中的seconds变量,其值设置为5。因此,5秒后,录音会自动停止并保存为output.wav,然后播放。是否有任何方式,我不需要定义持续时间,这意味着用户可以录制音频,只要她/他想要。此外,按下Shift键,她/他可以暂停和恢复录音,最后按Enter键停止录音,然后文件自动保存并播放。那么这可以做到吗?

当然可以。作为起点,您可以看看这个示例。