【问题标题】:playing sound in Python with the ability to cut it off mid-play在 Python 中播放声音,并能够在播放过程中将其切断
【发布时间】:2020-06-08 03:41:14
【问题描述】:

我正在编写一些 python 代码来播放声音文件(MP3 或同等文件),如果用户点击连接到系统的(硬件)按钮,应该切断声音。这将在运行 Raspbian 的 Raspberry Pi 上。我以前用来播放声音的库都播放完成。我能想到的最接近的方法是使用外部声音播放器(也许是 OMXplayer),然后在按下按钮时搜索并终止其进程,但这感觉不雅。有人可以提出更好的方法吗?

【问题讨论】:

  • @Ann Zen,OP 在 ̶R̶a̶s̶p̶b̶i̶a̶n̶ Raspberry Pi 操作系统上。 Winsound 仅适用于 Windows。

标签: python audio omxplayer


【解决方案1】:

使用Pyaudio,您可以在将每个缓冲区写入流之前简单地检查一个标志,如果音频应该停止,淡出当前缓冲区,然后以静音继续流(写入 0)或停止流并退出程序。这可以通过按下按钮后约 1/10 秒的延迟轻松实现。

您还需要在应用程序中创建一个 UI 线程来处理命令,因为停止标志是在用户输入上打开的。

【讨论】:

    猜你喜欢
    • 2011-01-08
    • 1970-01-01
    • 2015-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多