【发布时间】:2011-06-14 16:54:50
【问题描述】:
我有两种情况。给定歌曲的曲目 ID,将评分设置为某个整数。第二个是相同的,只是给了我一个轨道 ID 数组。我知道我可以使用 ScriptingBridge 根据歌曲名称搜索 iTunesTrack 对象,但是有什么方法可以根据曲目 ID 获取它吗?大致如下:
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
NSInteger *rating;
NSInteger *id;
if ( [iTunes isRunning] ) {
iTunesTrack *track = [ iTunes trackForDatabaseID:id ];
[ track setValue:rating forkey:@"rating" ];
}
对于第二种情况,有没有办法在给定轨道 id 数组的情况下检索 iTunesTrack 的 SBElementArray 对象?比如:
iTunesApplication *iTunes = [SBApplication applicationWithBundleIdentifier:@"com.apple.iTunes"];
NSArray *ids; //array of NSIntegers
if ( [iTunes isRunning] ) {
SBElementArray *tracks = [ iTunes tracksForDatabaseIDs:ids ];
[ tracks setValue:rating forkey:@"rating" ];
}
我相信这会比根据歌曲名称反复搜索库更有效。
【问题讨论】:
-
你知道怎么做吗?
-
不。到目前为止,我只是在使用曲目标题进行迭代。
标签: objective-c cocoa itunes scripting-bridge