获取iPhone本地的iTunes的音乐文件
获取iPhone本地的iTunes的音乐文件
@interface Track : NSObject@property (nonatomic, strong) NSString *artist;
@property (nonatomic, strong) NSString *title;
@property (nonatomic, strong) NSURL *audioFileURL;
+ (NSArray *)musicLibraryTracks
{
static NSArray *tracks = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
NSMutableArray *allTracks = [NSMutableArray array];
for (MPMediaItem *item in [[MPMediaQuery songsQuery] items]) {
if ([[item valueForProperty:MPMediaItemPropertyIsCloudItem] boolValue]) {
continue;
}
Track *track = [[Track alloc] init];
[track setArtist:[item valueForProperty:MPMediaItemPropertyArtist]];
[track setTitle:[item valueForProperty:MPMediaItemPropertyTitle]];
[track setAudioFileURL:[item valueForProperty:MPMediaItemPropertyAssetURL]];
[allTracks addObject:track];
NSLog(@"allTracks___%@__%@__%@",track.artist,track.title,track.audioFileURL);
}
for (NSUInteger i = 0; i < [allTracks count]; ++i) {
NSUInteger j = arc4random_uniform((u_int32_t)[allTracks count]);
[allTracks exchangeObjectAtIndex:i withObjectAtIndex:j];
}
tracks = [allTracks copy];
});
return tracks;
}