我正在为我的作业做一个录音机。在代码方面,我真的很糟糕。我的问题是我遇到以下错误: AttributeError:“ NoneType”对象在第24和28行时没有属性“ write”。 所以我不知道该如何解决。我在网上搜索了如何进行搜索,但没有找到有用的信息。 我要做的只是获得一个带有按钮的基本界面,用于记录并在用户需要时停止记录。 应该很容易,但是我对代码不熟悉,也不知道该怎么做。 对不起,我英语不好。
import pyaudio as pa
import tkinter as tk
from tkinter import filedialog
import os.path
import wave
FORMAT = 2
CHANNELS = 2
RATE = 44100
FILENAME = "son.wav"
def record():
def recorder(in_data, frame_count, time_info, status):
wf.writeframes(in_data)
return (in_data, pa.paContinue)
def stop():
wf.close()
stream.stop_stream()
stream.close()
pam.terminate()
button.config(text="Record", command=record)
pam = pa.PyAudio()
stream = pam.open(
format=pam.get_format_from_width(FORMAT), channels=CHANNELS,
rate=RATE, input=True, stream_callback=recorder
)
wf = wave.open(FILENAME, "wb")
wf.setnchannels(CHANNELS)
wf.setsampwidth(pam.get_sample_size(FORMAT))
wf.setframerate(RATE)
stream.start_stream()
button.configure(text="Stop", command=stop)