【发布时间】:2021-10-30 02:17:52
【问题描述】:
有人编写了一个脚本,应该记录一个波形文件并将其发送到一个电子邮件地址。
我想保存文件,而不是通过电子邮件地址发送。
代码如下:
import sounddevice as sd
import wave
fs = 44100
seconds = 60
obj = wave.open('sound.wav', 'w')
obj.setnchannels(1)
obj.setsampwidth(2)
obj.setframerate(fs)
myrecording = sd.rec(int(seconds * fs), samplerate=fs, channels=2)
obj.writeframesraw(myrecording)
sd.wait()
启动脚本后,我有一个空的波形文件。
有什么东西可以保存文件或类似obj.save(r'XX')的东西吗?
【问题讨论】:
-
你忘记关闭文件了(
obj.close()) -
你有没有看过the docs?它特别推荐使用
with语句,以便自动关闭文件... -
没有必要投射
int(seconds * fs),因为seconds和fs本身已经是int。另外,如果可能,请发布原始代码(发送电子邮件的代码)。
标签: python wav wave python-sounddevice