如何从itunes库中获取只有歌曲的歌曲itlibrary.h
问题描述:
这是文档说从图书馆获取所有媒体项目的方式,但是我只想获得歌曲。如何从itunes库中获取只有歌曲的歌曲itlibrary.h
#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
我不知道如何去适应它做什么,我需要它,也许它现在不那么复杂?
答
tracks = library.allMediaItems;
是ITLibMediaItem
对象的NSArray
对象。
根据文档,它作为属性mediaKind
,它给它的项目是歌曲(ITLibMediaItemMediaKindSong
)或另一种媒体。
所以,你只需要使用断言:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"mediaKind == %d", ITLibMediaItemMediaKindSong]]
所以过滤(与以前的谓语)
tracks = [library.allMediaItems filteredArrayUsingPredicate:predicate];
看来你还是需要用'NSPredicate'筛选,寻找for'tracks = [library.allMediaItems filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@“mediaKind ==%d”,ITLib Media Item Media Kind Song]];' – Larme
非常感谢。我想它可能是一样的,但我不知道这些新的名字。如果你让它成为答案,我会接受它 – Neal
我刚刚阅读了'ITLibMediaItem'(https://developer.apple.com/reference/ituneslibrary/itlibmediaitem?language=objc)的文档,并且知道如何使用/构建' NSPredicate'。没有什么复杂的。 – Larme