我想通过 Ruby 访问几个不同的 Mac OS X 应用程序,但我会选择 PHP。这些应用程序是Elgato 的turbo.264 和Apple 的iTunes。两者都定义了 Applescript 库,允许我从 Applescript 中执行我想做的操作,但我不想在 Applescript 中执行此操作。如果我不能在 Ruby 或 PHP 中做到这一点,也许我可以在 Objective C / Cocoa 中做到这一点,并创建某种可以从 Ruby 调用的包装器。
这可能吗?看起来如果这些方法在 Applescript 中可用,它们应该在其他语言中可用,我只是找不到任何东西。
尝试 RubyOSA (http://rubyosa.rubyforge.org http://rubyosa.rubyforge.org)然后你可以这样做:
require 'rbosa'
itunes = OSA.app('iTunes')
track = itunes.current_track
p track # <OSA::Itunes::FileTrack:0x1495e20>
p track.name # "Over The Rainbow"
p track.artist # "Keith Jarrett"
p track.duration # 362.368988037109
p track.date_added.to_s # "2006-06-30"
p track.enabled? # true
# Play the selected track.
itunes.play
# Fade the volume.
100.times { |i| itunes.sound_volume = i; sleep 0.1 }
# Set iChat's status message to the current track.
OSA.app('iChat').status_message = "Playing: #{track.name}"
您可以与任何支持 AppleScript 的 Mac OS X 应用程序对话
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)