我正在使用 Ruby 通过 Scripting Bridge 检查我在 Quicktime 中播放的视频的位置。
目前我只是每秒钟检查一次位置n
:
require 'osx/cocoa'
include OSX
OSX.require_framework 'ScriptingBridge'
app = SBApplication.applicationWithBundleIdentifier_("com.apple.QuickTimePlayerX")
while true
app.documents.each do |doc|
p doc.currentTime
p doc.playing
end
wait(n_seconds)
end
这比我想要的 CPU 密集度更高,有没有办法让 Scripting Bridge 在发生特定事件时触发 Ruby 块?
例如。何时打开、关闭、暂停/恢复文档等?
提前致谢!