iTunes Scripting Bridge - 如何播放特定曲目

Tom*_*ulz 2 macos applescript itunes scripting-bridge

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

但是,这些命令似乎非常有限.有一个'playpause'功能,但我认为没办法这样做

// iTunes是我的SBApplication对象[iTunes play:@"Smoke On The Water"];

这样做的Applescript相当简单

告诉iTunes播放songName

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

ink*_*ket 6

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

iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
iTunesPlaylist *playlist = [iTunes currentPlaylist];
SBElementArray *tracks = [playlist tracks];
[[tracks objectAtIndex:0] playOnce:YES];
Run Code Online (Sandbox Code Playgroud)

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