如何使用itlibrary.h从itunes库中获取歌曲

时间:2017-03-29 19:49:20

标签: objective-c itunes

这是文档说从图书馆获取所有媒体项目的方式,但我想只获得歌曲。

#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

我不确定如何调整它来做我需要的东西,或者现在它可能不那么复杂了?

1 个答案:

答案 0 :(得分:1)

tracks = library.allMediaItems;NSArrayITLibMediaItem个对象。

根据该文档,它作为一个属性mediaKind赋予它项目是一首歌(ITLib​Media​Item​Media​Kind​Song)或另一种媒体。

所以,你只需要使用谓词:

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"mediaKind == %d", ITLib​Media​Item​Media​Kind​Song]]

所以过滤(使用先前的谓词)

tracks = [library.allMediaItems filteredArrayUsingPredicate:predicate];