python录音功能,python实现录音功能可随时停止录音代码
本篇文章小编给大家分享一下python实现录音功能可随时停止录音代码,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。
代码如下:
# -*- coding: utf-8 -*-
import pyaudio
import time
import threading
import wave
class Recorder():
def __init__(self, chunk=1024, channels=1, rate=64000):
self.CHUNK = chunk
self.FORMAT = pyaudio.paInt16
self.CHANNELS = channels
self.RATE = rate
self._running = True
self._frames = []
def start(self):
threading._start_new_thread(self.__recording, ())
def __recording(self):
self._running = True
self._frames = []
p = pyaudio.PyAudio()
stream = p.open(format=self.FORMAT,
channels=self.CHANNELS,
rate=self.RATE,
input=True,
frames_per_buffer=self.CHUNK)
while(self._running):
data = stream.read(self.CHUNK)
self._frames.append(data)
stream.stop_stream()
stream.close()
p.terminate()
def stop(self):
self._running = False
def save(self, filename):
p = pyaudio.PyAudio()
if not filename.endswith(".wav"):
filename = filename + ".wav"
wf = wave.open(filename, 'wb')
wf.setnchannels(self.CHANNELS)
wf.setsampwidth(p.get_sample_size(self.FORMAT))
wf.setframerate(self.RATE)
wf.writeframes(b''.join(self._frames))
wf.close()
print("Saved")
if __name__ == "__main__":
for i in range(1,4):
a = int(input('请输入相应数字开始:'))
if a == 1:
rec = Recorder()
begin = time.time()
print("Start recording")
rec.start()
b = int(input('请输入相应数字停止:'))
if b == 2:
print("Stop recording")
rec.stop()
fina = time.time()
t = fina - begin
print('录音时间为%ds'%t)
rec.save("1_%d.wav"%i)
python录音功能,python实现录音功能可随时停止录音代码相关推荐
- python 实时录音_python实现录音功能(可随时停止录音)
本文实例为大家分享了python实现录音功能的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- import pyaudio import time import t ...
- python 录音_python实现录音功能(可随时停止录音)
本文实例为大家分享了python实现录音功能的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- import pyaudio import time import t ...
- python学习-python学习笔记(一)python简介和基础
1.什么是python? python是一种面向对象的,解释型的计算机语言,它的特点是语法简介,优雅,简单易学.1989年诞生,Guido(龟叔)开发. 编译型语言:代码在编译之后,编译成2进制的文件 ...
- 【Python】Python学到什么程度可以面试工作?------持续更新 ...
前言: 从事python学习,有爬虫.web后台.深度学习相关经验, 坐标北京欢迎骚扰. 本答案力求简洁和直击重点,代码部分使用Python3,更详细的解释请Google,回答有误请务必提醒答主,我将 ...
- python学徒,Python进展路径 – 从学徒到古鲁
我一直在学习,工作和玩Python一年半.作为一个生物学家,慢慢地转向生物信息学,这种语言一直是我在实验室做出的所有主要贡献的核心.我或多或少地爱上了Python允许我表达美丽的解决方案的方式,以及允 ...
- python人像录制加声音_Python实现电脑录音(含音频基础知识讲解)
Python实现电脑录音(含音频基础知识讲解) 前言 今天开始进入近期系列文章的第一篇,如何用 Python 来实现录音功能. 在开始"造轮子"之前,个人一直强调一个观点,如果有些 ...
- 视频教程-手把手带你学会python爬虫-Python
手把手带你学会python爬虫 曾在某大型公司大型互联网任职多年,在公司主要从事移动端开发.全栈开发.主要技术栈是Android.Java.Python.爬虫.Linux等等. 赵庆元 ¥99.00 ...
- 我在VScode学Python(Python的基本了解,数据类型,控制语句,文件File)
开始学习Python了 Python的学习(持续更新) 前言 Python的介绍: 1)语言的发展: 2)特点: 缺点: 在VScode 配置: 安装Vscode: 在cmd中检测Python的存在 ...
- python怎么重启内核_解决jupyter运行pyqt代码内核重启的问题
在jupyter notebook或者是 Qtconsole下编译运行一个简单的pyqt程序,总是报错: The kernel appears to have died. It will restar ...
最新文章
- 知名文件传输协议 SCP 被曝存在 35 年历史的安全漏洞
- 【PAT (Advanced Level) Practice】1041 Be Unique (20 分)
- Web 安全漏洞之 XSS 攻击,Java 开发必看!
- netcore - MVC的ActionFilter的使用
- 反转一个单链表,分别以迭代和递归的形式来实现
- EL表达式JSON应用
- MiniFlow,帮助理解TensorFlow关键概念--图
- 小米笔记本pro lol测试软件,小米笔记本Pro游戏实测,MX150显卡竟有猫腻
- catia设计树_CATIA目录树节点管理 | 坐倚北风
- json接口测试工具json-server
- 自动检测技术学习心得体会_自动化学习心得
- 程序媛字节裸辞后,都干了些什么....
- SAP采购中若干价格表的梳理
- jsp:通过Session控制登陆时间和内部页面的访问
- puzzle(1321)时间旅人
- html文字往右边偏移怎么做,div向右偏移设置 css让div靠右移必定距离
- spss软件简介与数据操作
- Android 实现人脸识别
- Exynos 4412 看门狗定时器中断
- springboot学习文章
热门文章
- 利用阿里云下载国外镜像,国内顺畅下载k8s.gcr.io的镜像
- Amigo 学习(二)类和资源是怎么热更的?
- [总结]视频质量评价技术零基础学习方法
- 计算机专业29岁博士毕业,已经29岁了想去读博士晚不晚?
- 图像算法工程师的一般要求
- 考研数一英语二计算机,考研常识 | 我是考英语一还是英语二?数一二三都有什么区别...
- centos7 修改时间、时区问题
- jquery 手型 鼠标穿过时_css各种手型集合(css禁止手型)-Fun言
- 【Pygame实战】俄罗斯方块 | 太好玩了~停不下来,这种版本(Turtle彩版)你肯定没玩过……(经典怀旧:无人不知的俄罗斯方块)
- vm虚拟机安装教程win7