1

我正在使用sounddevicepython 录制和播放音频。我正在使用一个非常简单的代码,它在 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)运行此代码时,它不会播放。导致它发生的代码有什么问题?

4

1 回答 1

1

问题是 sounddevice 在后台播放音频。当脚本结束时,它不会等待播放完成。在 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()
于 2020-03-24T14:10:32.993 回答