检查音频文件是否正在播放

检查音频文件是否正在播放

我需要知道当前是否正在播放音频文件,以便 python 脚本可以在播放新音频文件之前等待。我正在使用 OSX。 python 脚本使用“os”模块生成子 shell 并使用“afplay”播放 mp3 文件。该脚本可能会快速连续调用两次。我试图避免同时播放多个文件。理想情况下,我想让脚本等待当前正在播放的音频文件结束,然后再播放下一个。任何帮助是极大的赞赏。先感谢您

答案1

确保只有一个(一组合作的程序)同时执行某些操作的通用解决方案是某种互斥锁。在这种情况下,您将在调用之前获取互斥锁afplay,并在afplay调用完成后立即释放它。这将保证您afplay一次只运行一个。

对于进程间互斥体,您有多种选择,但最简单的可能是锁定文件。我个人并不了解 Python,但 Stack Overflow 上有“在 Python 中锁定文件”这似乎提供了很多选择。

相关内容