我有两种情况。给定歌曲的曲目 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" ];
}
我相信这比基于歌曲名称迭代搜索库更有效。