这是文档说从图书馆获取所有媒体项目的方式,但我想只获得歌曲。
#import <iTunesLibrary/ITLibrary.h>
ITLibrary *library = [ITLibrary libraryWithAPIVersion:@"1.0" error:&error];
if (library)
{
tracks = library.allMediaItems; // <- NSArray of ITLibMediaItem
}
我找到了这个答案:How to get all tracks from an album using iTunes.h/Scripting Bridge
我不确定如何调整它来做我需要的东西,或者现在它可能不那么复杂了?
答案 0 :(得分:1)
tracks = library.allMediaItems;
是NSArray
个ITLibMediaItem
个对象。
根据该文档,它作为一个属性mediaKind
赋予它项目是一首歌(ITLibMediaItemMediaKindSong
)或另一种媒体。
所以,你只需要使用谓词:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"mediaKind == %d", ITLibMediaItemMediaKindSong]]
所以过滤(使用先前的谓词)
tracks = [library.allMediaItems filteredArrayUsingPredicate:predicate];