我正在编写一些播放声音文件(MP3或等效文件)的python代码,如果用户点击连接到系统中的(硬件)按钮,则应将该声音关闭。这将在运行Raspbian的Raspberry Pi上。我过去使用的用于播放声音的库全部播放完毕。我能想到的最接近的方法是使用外部声音播放器(也许是OMXplayer),然后如果按下按钮,则搜索并终止其过程,但这感觉不佳。有人可以建议一种更好的方法吗?
答案 0 :(得分:0)
使用Pyaudio,您可以在将每个缓冲区写入流之前简单地检查一个标志,如果音频应该停止,淡出当前缓冲区,然后以静默方式继续流(写0)或停止流并退出程序。按下按钮后,只需约1 / 10s的等待时间即可轻松实现。
由于停止标志是在用户输入上打开的,因此您还需要在应用程序中创建一个UI线程来处理命令。