有没有办法在 IINA 开始播放时触发一个 Keyboard Maestro 的 Macro?

需求是这样:IINA 在使用 HomePod(AirPlay)播放时会有一个 2s 的音频延迟,使用其他有线音箱时就不会。想要检测 IINA 使用 HomePod 时自动加 两秒延迟,使用普通音箱时延迟设为 0。

搜索了一大圈但是没有找到好的触法自动化的方式,不知道各位是否知道能够通过“视频或音频开始播放”触发自动化的方式,Keyboard Maestro 或者其他软件都可以。

现有的方案:

  1. 通过 Keyboard Maestro 的 Audio Device Output Changed 触发,但是并不是每次开始播放时都会切换一次音频输出设备,只能兼顾已经在播放时切换音频设备的情况。

  2. 通过 USB Device Key 触发,但是这样只能兼顾键盘的情况,如果从 Finder 打开文件,或使用鼠标开始播放就不能触发。

有没有更好的方案能够检测到 “文件被 IINA 打开” 呢?:thinking:

提供几个思路:

  1. 如果 IINA 不常驻后台,可考虑以 IINA 启动为 Trigger;
  2. 如果 IINA 常驻后台,可考虑以 IINA 窗口标题变动为 Trigger。

加上了把 IINA 启动(成为前台窗口)作为 Trigger,这样从 Finder 打开文件可以被触发了。不过依然没办法在已经打开的文件播放暂停时,通过鼠标点击播放的时候触发动作。似乎这个也是没办法检测的了吧:thinking:

如果你习惯用空格暂停或播放,可以把空格键当作 trigger,再综合播放/暂停的菜单栏项目状态引入开关机制。如果习惯用鼠标,我暂时没想到什么办法。

不过,无论如何,上述方案都属于不断打补丁,可靠性会越来越低 XD

哈哈确实:rofl:还是尽量保持精简最好,应该没有能完全监控的办法,尽量能覆盖多数情况就可以了~感谢 minja!