Python简单GUI(录音机)
import wave
import threading
import tkinter
import tkinter.filedialog
import tkinter.messagebox
import pyaudioroot = tkinter.Tk()
root.title('Recorder')
root.geometry('270x80+550+300')
root.resizable(False, False)fileName = None
allowRecording = False #录音状态
CHUNK_SIZE = 1024 #数据块大小
CHANNELS = 2 #频道
FORMAT = pyaudio.paInt16 #16位量化编码
RATE = 44100 #音频采样率def record():global fileNamep = pyaudio.PyAudio()#audio流对象stream = p.open(format=FORMAT,channels=CHANNELS,rate=RATE,input=True,frames_per_buffer=CHUNK_SIZE)#音频文件对象wf = wave.open(fileName, 'wb')wf.setnchannels(CHANNELS)wf.setsampwidth(p.get_sample_size(FORMAT))wf.setframerate(RATE)# 读取数据写入文件while allowRecording:data = stream.read(CHUNK_SIZE)wf.writeframes(data)wf.close()stream.stop_stream()stream.close()p.terminate()fileName = Nonedef start():global allowRecording, fileName fileName = tkinter.filedialog.asksaveasfilename(filetypes=[('未压缩波形文件','*.wav')])if not fileName:returnif not fileName.endswith('.wav'):fileName = fileName+'.wav'allowRecording = TruelbStatus['text'] = 'Recording...'threading.Thread(target=record).start()def stop():global allowRecordingallowRecording = FalselbStatus['text'] = 'Ready'# 关闭程序时检查是否正在录制
def closeWindow():if allowRecording:tkinter.messagebox.showerror('Recording', 'Please stop recording before close the window.')returnroot.destroy()btnStart = tkinter.Button(root, text='Start', command=start)
btnStart.place(x=30, y=20, width=100, height=20)
btnStop = tkinter.Button(root, text='Stop', command=stop)
btnStop.place(x=140, y=20, width=100, height=20)
lbStatus = tkinter.Label(root, text='Ready', anchor='w', fg='green') #靠左显示绿色状态字
lbStatus.place(x=30, y=50, width=200, height=20)
root.protocol('WM_DELETE_WINDOW', closeWindow)root.mainloop()
Python简单GUI(录音机)相关推荐
- Python简单GUI(随机点名)
import tkinter import tkinter.messagebox import random import threading import itertools import time ...
- python简单GUI(模拟记事本)
import tkinter.filedialog import tkinter.messagebox import tkinter.scrolledtext import tkinter.simpl ...
- Python简单GUI(模拟放大镜)
import tkinter from PIL import ImageGrab, ImageTkroot=tkinter.Tk() screenW=root.winfo_screenwidth() ...
- python tkinter库、添加gui界面_使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)...
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二),创建一个,界面,布局,文件,路径 使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二) ...
- Py:python利用easygui实现最简单GUI带你学习区块链技术的发展和由来
Py:python利用easygui实现最简单GUI带你学习区块链技术的发展和由来 目录 输出结果 实现代码 输出结果 实现代码 # -*- coding: utf-8 -*- ''' Created ...
- Py之tkinter:python最简单的猜字小游戏带你进入python的GUI世界
Py之tkinter:python最简单的猜字小游戏带你进入python的GUI世界 目录 输出结果 设计思路 输出结果 设计思路 from tkinter import * import tkint ...
- python数码时钟代码_Python+Pyqt实现简单GUI电子时钟
本文实例为大家分享了Python+Pyqt实现简单GUI电子时钟的具体代码,供大家参考,具体内容如下 突发奇想想用GUI做一个简单的电子时钟界面,利用pyqt模块也很方便,代码如下: from PyQ ...
- 用 Python 的GUI 库 PySimpleGUI,写一个肥胖指数计算工具,Python开发就是这么简单
Python 的 GUI 库 PySimpleGUI,写一个简单的有界面的小工具很简单!这里我们来写一个计算肥胖指数(BMI)的小工具.首先,通过百度得到 BMI 指数的计算公式为: 体重 / (身高 ...
- python做的简单gui计算器_Python计算器–使用Tkinter创建一个简单的GUI计算器
在Python计算器教程中,您将学习创建简单的GUI计算器.在这篇文章中,我将向您展示如何使用python中的tkinter模块开发一个简单的计算器.因此,让我们进一步创建一个简单的python计算器 ...
最新文章
- java并发问题_并发理论基础:并发问题产生的三大根源
- 24 WM配置-策略-入库策略4-定义空存储箱策略L(Next Empty Bin Strategy)
- 浅谈Dynamic 关键字系列之三(下):ExpandoObject,DynamicObject,DynamicMetaObject
- [转]OC与JS的交互详解
- 思科警告:“关键更新”钓鱼攻击窃取用户 Webex 凭证
- 面试常备题---插入排序
- ovs ovn 学习资料
- oracle弱口令攻击
- 序列化和反序列化(七)——Java对象的网络传输(二)
- php_os用法,使用终端,如何让OS X使用MAMP版本的PHP
- ios设置中性黑体_iOS 使用自定义字体 - 苹方字体
- DSP SRIO接口认识
- 声卡接口 LINE_IN、MIC_IN、LINE_OUT
- RPM包安装相关命令
- R中安装rgl时“configure: error: missing required library GL”错误的解决方法
- 微信大数据推荐算法比赛
- Matlab三维绘图------三维曲线图
- 基于蜉蝣优化算法的函数寻优算法
- VScode神仙插件,程序员必备
- python中求某一行的和