使用Tkinter创建录音机时遇到问题

时间:2019-04-02 09:35:56

标签: python tkinter

我正在为我的作业做一个录音机。在代码方面,我真的很糟糕。我的问题是我遇到以下错误: 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)

0 个答案:

没有答案