使用 PyAudio,pyqt, 通过按钮点击可以录音,再次点击停止

38 篇文章 13 订阅 ¥29.90 ¥99.00
 在代码中,RecordThread是一个继承自QThread的线程类,用于录制音频。
 线程内部使用PyAudio打开麦克风输入流,循环读取音频数据,
 并将数据通过update_signal信号发送给主线程。主线程可以在update函数中处理音频数据,
 例如显示录音波形。当用户点击停止按钮时,主线程会调用requestInterruption方法通知录音线程停止录音。

 在MainWindow类中,toggle_recording方法用于切换录音状态。
 如果当前未在录音,则创建一个RecordThread对象并启动线程;
 如果当前正在录音,则调用requestInterruption方法通知录音线程停止录音。
 当录音线程发送音频数据时,主线程会调用update方法更新UI。
 当用户点击退出按钮时,主线程会检查录音状态并调用requestInterruption方法停止录音线程,
 然后退出应用程序。


import sys
import pyaudio
from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButton
from PyQt5.QtCore import QThread, pyqtSignal
import wave

# 在上述代码中,RecordThread是一个继承自QThread的线程类,用于录制音频。
# 线程内部使用PyAudio打开麦克风输入流,循环读取音频数据,
# 并将数据通过update_signal信号发送给主线程。主线程可以在update函数中处理音频数据,
# 例如显示录音波形。当用户点击停止按钮时,主线程会调用requestInterruption方法通知录音线程停止录音。

# 在MainWindow类中,toggle_recording方法用于切换录音状态
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点云-激光雷达-Slam-三维牙齿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值