gpt4 book ai didi

ruby - 使用 Scripting Bridge 进行回调?

转载 作者:数据小太阳 更新时间:2023-10-29 08:06:21 26 4
gpt4 key购买 nike

我正在使用 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 block ?

例如。文档何时打开、关闭、暂停/恢复等?

提前致谢!

最佳答案

这不是 Scripting Bridge 所做的。它只是一种使用 Cocoa 而不是 AppleScript 来发送和接收 Apple Events 的方法。您可以执行的操作仅受其他应用程序的脚本字典的限制。

所以问题变成了“QuickTime Player 是否有办法向它注册我的应用程序,以便它会在某些事情发生时向我的应用程序发送一个事件”,而通过查看其字典确定的答案是否定的.

您可能会考虑在您自己的应用中放映这部电影。然后,您将能够在事情发生时被动地接收通知,而不必轮询。

关于ruby - 使用 Scripting Bridge 进行回调?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3392914/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com