python怎么循环播放_如何用pyaudio循环播放音频?
我想用Pyaudio和tkinter播放一个音频波形文件,当按下按钮时音频播放,当按下停止按钮时音频停止。现在,音频是一个简单的5秒波形文件,正如它所设想的,音频在5秒后停止。我想知道如何循环它,这样的音频一直播放下去,除非点击停止按钮。我找不到用这个密码的方法。在from tkinter import *
import pyaudio
import wave
import sys
import threading
# --- classes ---
def play_audio():
global is_playing
global my_thread
chunk = 1024
wf = wave.open('sound.wav', 'rb')
p = pyaudio.PyAudio()
stream = p.open(
format = p.get_format_from_width(wf.getsampwidth()),
channels = wf.getnchannels(),
rate = wf.getframerate(),
output = True)
data = wf.readframes(chunk)
while data != '' and is_playing: # is_playing to stop playing
stream.write(data)
data = wf.readframes(chunk)
stream.stop_stream()
stream.close()
p.terminate()
# --- functions ---
def press_button_play():
global is_playing
global my_thread
if not is_playing:
is_playing = True
my_thread = threading.Thread(target=play_audio)
my_thread.start()
def press_button_stop():
global is_playing
global my_thread
if is_playing:
is_playing = False
my_thread.join()
# --- main ---
is_playing = False
my_thread = None
root = Tk()
root.title("Compose-O-Matic")
root.geometry("400x300")
button_start = Button(root, text="PLAY", command=press_button_play)
button_start.grid()
button_stop = Button(root, text="STOP", command=press_button_stop)
button_stop.grid()
root.mainloop()
python怎么循环播放_如何用pyaudio循环播放音频?相关推荐
- java中循环输入_如何用java循环输入并且当输入0时结束循环?
如何用java循环输入并且当输入0时结束循环? import java.util.Scanner; public class Avg { public static void main(String[ ...
- 为什么双层循环 冒泡排序_冒泡排序的双重循环理解
主要说一下冒泡排序的一些关键地方的个人理解,比如算法思想,两个循环的作用意义,中间循环变量范围的确定等. 原理:比较两个相邻的元素,将值大的元素交换至右端. 思路:依次比较相邻的两个数,将小数放在前面 ...
- do while循环语句_流程控制之循环语句【while循环语句】
while循环语句 while语句也称条件判断语句,它的循环方式为利用一个条件来控制是否要继续反复执行这个语句. 语法如下: while(条件表达式){ 执行语句 } 条件表达式:这是用于控制循环的条 ...
- birt脚本for循环语句_如何使用 for 循环语句嵌套方法!
for循环语法: for( 表达式1:表达式2:表达式3) { 循环体 } 循环从表达式1开始 - 表达式2(判别表达式)- 真 - 执行循环体 - 表达式3 - 判断表达式2 真 : 继续 - 循环 ...
- flowplayer播放_在iPad上自动播放Flowplayer
flowplayer播放 如何设置flowplayer ipad自动播放 . " iOS不允许在页面加载时自动播放视频. 因此,为保持一致性,我们建议嵌入初始图像." 请尝试以下代 ...
- gif循环播放_防止动画GIF循环播放
gif循环播放 We all know animated GIFs put the "fun" in "functional." I've recently w ...
- python贪吃蛇控制台_如何用Python写一个贪吃蛇AI
前言 这两天在网上看到一张让人涨姿势的图片,图片中展示的是贪吃蛇游戏, 估计大部分人都玩过.但如果仅仅是贪吃蛇游戏,那么它就没有什么让人涨姿势的地方了. 问题的关键在于,图片中的贪吃蛇真的很贪吃XD, ...
- 如何制作python检查小软件_如何用Python制作整蛊小程序
原标题:如何用Python制作整蛊小程序 下面的整蛊程序,千万不要发代码,否则就实现不了你整蛊的目的了.完成后一定要打包成一个exe程序,再发给朋友使用 . 1. 使用 pip install pyi ...
- python 读取excel图片_如何用Python读取Excel中图片?
公众号: 早起Python 作者:刘早起 大家好,在使用Python进行办公自动化操作时,一定少不了与Excel表格的交互,我们通常是用pandas处理表格数据,但大多数情况下,都是读取表格中的数值进 ...
- python神经网络构建图_如何用卷积神经网络构建图像?
原标题:如何用卷积神经网络构建图像? 原标题 |Everything you need to know to master Convolutional Neural Networks 作者 | Tir ...
最新文章
- java中action请求_java模拟js发送action请求
- python手动绘图_建筑师为什么要会python编程?
- python – 处理psycopg2中的错误 psycopg2.errors.InFailedSqlTransaction: current transaction is aborted, comm
- Java(1-15)
- ajax中tooltip,工具提示插件——tooltip
- 大学生必须要知道的毕业设计基本流程
- 魔鬼一样的二分查找模板
- 基于nodejs的开源博客
- 打印服务Print Spooler自动停止解决方案
- 通过google的gson把xml转成json
- C语言(求解一元二次方程的根)
- 怎么将pdf转换成word?
- maven dependency的作用英文解释(转载)
- 图解TCP/IP之半双工全双工通信
- FLOPS, FLOPs and MACs
- 强制关闭无法关闭的进程的方法
- promise封装小程序的蓝牙类
- Android双系统之基本问题研究
- C++函数默认参数(函数传入实参个数比形参个数少)
- vue3 获取当前路由参数
热门文章
- 使用文本标签做一个简单的自我介绍
- bat 删除文件脚本
- 机电一体化柔性生产线加工系统
- 机器人电机驱动及智能控制分析及展望
- HTML/CSS 长度单位 px和pt的区别
- 南信大 计算机与软件学院 校花,美哭了!南京12所高校最美“校花”新鲜出炉!颜值爆表!你的母校上榜了吗?...
- word中二级标题随一级标题自动编号
- 一名大学毕业生的反思《上》
- pyecharts动态图表嵌入ppt
- python接入讯代理_[Python3网络爬虫开发实战] 9.3-付费讯代理、阿布云代理的使用...