本篇文章小编给大家分享一下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实现录音功能可随时停止录音代码相关推荐

  1. python 实时录音_python实现录音功能(可随时停止录音)

    本文实例为大家分享了python实现录音功能的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- import pyaudio import time import t ...

  2. python 录音_python实现录音功能(可随时停止录音)

    本文实例为大家分享了python实现录音功能的具体代码,供大家参考,具体内容如下 # -*- coding: utf-8 -*- import pyaudio import time import t ...

  3. python学习-python学习笔记(一)python简介和基础

    1.什么是python? python是一种面向对象的,解释型的计算机语言,它的特点是语法简介,优雅,简单易学.1989年诞生,Guido(龟叔)开发. 编译型语言:代码在编译之后,编译成2进制的文件 ...

  4. 【Python】Python学到什么程度可以面试工作?------持续更新 ...

    前言: 从事python学习,有爬虫.web后台.深度学习相关经验, 坐标北京欢迎骚扰. 本答案力求简洁和直击重点,代码部分使用Python3,更详细的解释请Google,回答有误请务必提醒答主,我将 ...

  5. python学徒,Python进展路径 – 从学徒到古鲁

    我一直在学习,工作和玩Python一年半.作为一个生物学家,慢慢地转向生物信息学,这种语言一直是我在实验室做出的所有主要贡献的核心.我或多或少地爱上了Python允许我表达美丽的解决方案的方式,以及允 ...

  6. python人像录制加声音_Python实现电脑录音(含音频基础知识讲解)

    Python实现电脑录音(含音频基础知识讲解) 前言 今天开始进入近期系列文章的第一篇,如何用 Python 来实现录音功能. 在开始"造轮子"之前,个人一直强调一个观点,如果有些 ...

  7. 视频教程-手把手带你学会python爬虫-Python

    手把手带你学会python爬虫 曾在某大型公司大型互联网任职多年,在公司主要从事移动端开发.全栈开发.主要技术栈是Android.Java.Python.爬虫.Linux等等. 赵庆元 ¥99.00 ...

  8. 我在VScode学Python(Python的基本了解,数据类型,控制语句,文件File)

    开始学习Python了 Python的学习(持续更新) 前言 Python的介绍: 1)语言的发展: 2)特点: 缺点: 在VScode 配置: 安装Vscode: 在cmd中检测Python的存在 ...

  9. python怎么重启内核_解决jupyter运行pyqt代码内核重启的问题

    在jupyter notebook或者是 Qtconsole下编译运行一个简单的pyqt程序,总是报错: The kernel appears to have died. It will restar ...

最新文章

  1. 知名文件传输协议 SCP 被曝存在 35 年历史的安全漏洞
  2. 【PAT (Advanced Level) Practice】1041 Be Unique (20 分)
  3. Web 安全漏洞之 XSS 攻击,Java 开发必看!
  4. netcore - MVC的ActionFilter的使用
  5. 反转一个单链表,分别以迭代和递归的形式来实现
  6. EL表达式JSON应用
  7. MiniFlow,帮助理解TensorFlow关键概念--图
  8. 小米笔记本pro lol测试软件,小米笔记本Pro游戏实测,MX150显卡竟有猫腻
  9. catia设计树_CATIA目录树节点管理 | 坐倚北风
  10. json接口测试工具json-server
  11. 自动检测技术学习心得体会_自动化学习心得
  12. 程序媛字节裸辞后,都干了些什么....
  13. SAP采购中若干价格表的梳理
  14. jsp:通过Session控制登陆时间和内部页面的访问
  15. puzzle(1321)时间旅人
  16. html文字往右边偏移怎么做,div向右偏移设置 css让div靠右移必定距离
  17. spss软件简介与数据操作
  18. Android 实现人脸识别
  19. Exynos 4412 看门狗定时器中断
  20. springboot学习文章

热门文章

  1. 利用阿里云下载国外镜像,国内顺畅下载k8s.gcr.io的镜像
  2. Amigo 学习(二)类和资源是怎么热更的?
  3. [总结]视频质量评价技术零基础学习方法
  4. 计算机专业29岁博士毕业,已经29岁了想去读博士晚不晚?
  5. 图像算法工程师的一般要求
  6. 考研数一英语二计算机,考研常识 | 我是考英语一还是英语二?数一二三都有什么区别...
  7. centos7 修改时间、时区问题
  8. jquery 手型 鼠标穿过时_css各种手型集合(css禁止手型)-Fun言
  9. 【Pygame实战】俄罗斯方块 | 太好玩了~停不下来,这种版本(Turtle彩版)你肯定没玩过……(经典怀旧:无人不知的俄罗斯方块)
  10. vm虚拟机安装教程win7