【问题标题】:iTunes Scripting Bridge - How to play a specific trackiTunes Scripting Bridge - 如何播放特定曲目
【发布时间】:2011-04-05 00:55:01
【问题描述】:

我正在编写一个使用脚本桥来控制 iTunes 的 mac 应用程序。我已经生成了头文件iTunes.h,SBApplication对象可以告诉我各种奇妙的事情。

但是,这些命令似乎非常有限。有一个“播放暂停”功能,但我看不出有什么办法

// iTunes 是我的 SBApplication 对象 [iTunes播放:@“水上烟”];

执行此操作的 Applescript 相当简单

告诉 iTunes 播放歌曲名称

这个脚本桥应该是我在 Objective C 中控制可编写脚本对象的超级酷和强大的方式,所以我在这里缺少什么?

【问题讨论】:

    标签: macos applescript itunes scripting-bridge


    【解决方案1】:

    您应该只在您的 iTunesTrack 对象上发送消息“playOnce:(BOOL)”。这是一个例子:

    iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
    iTunesPlaylist *playlist = [iTunes currentPlaylist];
    SBElementArray *tracks = [playlist tracks];
    [[tracks objectAtIndex:0] playOnce:YES];
    

    这将播放当前播放列表中的第一首曲目。适应你的情况。

    【讨论】:

      【解决方案2】:

      在网上搜索等效的 AppleScript sn-ps 或在 AppleScript Editor 应用程序中查看 iTune 的脚本字典。然后将生成的脚本翻译成脚本桥接命令。一个可能的 AppleScript 等效项是:

      tell application "iTunes"
          play first item of (search first library playlist for "Smoke On The Water")
      end tell
      

      附:您可能会发现 objc-appscript 更易于使用(或者,如果不需要 Objective C,它的表亲,py-appscript 或 rb-appscript)。

      【讨论】:

      • +1 建议整理出原始 Applescript 并从那里移植。这是找到解决这些各种脚本桥(该定义中包括 py-appscript)问题的最佳方法。
      • 我不确定您所说的“将生成的脚本转换为脚本桥接命令”是什么意思。我了解示例applescript,我只是不知道如何使用脚本桥执行applescript。
      猜你喜欢
      • 2012-10-09
      • 1970-01-01
      • 1970-01-01
      • 2012-10-09
      • 1970-01-01
      • 2023-03-08
      • 1970-01-01
      • 2011-02-18
      • 1970-01-01
      相关资源
      最近更新 更多