python - 在 Python 中播放声音,并能够在播放过程中将其切断
问题描述
我正在编写一些 python 代码来播放声音文件(MP3 或等效文件),如果用户点击连接到系统的(硬件)按钮,应该切断声音。这将在运行 Raspbian 的 Raspberry Pi 上。我以前用来播放声音的库都播放完毕。我能想到的最接近的方法是使用外部声音播放器(也许是 OMXplayer),然后在按下按钮时搜索并终止其进程,但这感觉不雅。有人可以提出更好的方法吗?
解决方案
使用Pyaudio,您可以在将每个缓冲区写入流之前简单地检查一个标志,如果音频应该停止,淡出当前缓冲区,然后以静音(写入 0)继续流或停止流并退出程序。这可以通过按下按钮后约 1/10 秒的延迟轻松实现。
您还需要在应用程序中创建一个 UI 线程来处理命令,因为停止标志是在用户输入上打开的。
推荐阅读
- php - 不确定 Laravel 对接口实现做了什么
- javascript - 在安装 MongoDB 后尝试运行“npm start”时产生 CMD enoent ERR
- pyqt5 - QLineEdit 不显示数据
- powershell - 如何循环遍历 pscutomobject 数组并添加额外的属性?
- java - 在 Spark Java 中计算中位数
- api - 如何刷新计算属性
- python - 是否可以使用 pyglet 同时更新所有 GL_QUADS 的相同值的纹理坐标?
- vuejs2 - Vue js从多个复选框中获取复选框的选中值
- arrays - 提供 UICollectionView 数据源的多个数组
- python - 使用python发送电子邮件时出现超时错误