播放音乐中的所有歌曲
Play all songs in music
我有这个代码可以播放音乐库中的所有歌曲(通过 iTunes 添加并从 Apple Music 下载到库中)。
我不能只有歌曲。我做错了什么?
-(IBAction)playAllSongs:(id)sender {
MPMediaQuery *songsQuery = [MPMediaQuery songsQuery];
NSArray *songsArray = [songsQuery collections];
MPMediaItemCollection *items = [MPMediaItemCollection collectionWithItems:songsArray];
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController systemMusicPlayer];
[musicPlayer setQueueWithItemCollection:items];
}
我自己解决了
MPMediaQuery *songsQuery = [MPMediaQuery songsQuery];
NSArray *songsArray = [songsQuery items];
MPMediaItemCollection *items = [MPMediaItemCollection collectionWithItems:songsArray];
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController systemMusicPlayer];
//[songsQuery addFilterPredicate:[MPMediaPropertyPredicate predicateWithValue:[NSNumber numberWithBool:NO] forProperty:MPMediaItemPropertyIsCloudItem]]; // for iTunes Match or Apple music to exclude or not songs not in the device
[musicPlayer setQueueWithItemCollection:items];
以上答案有效,但这是一种迂回的方法。
更简单的方法:
MPMediaQuery *songs = [MPMediaQuery songsQuery];
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController systemMusicPlayer];
[musicPlayer setQueueWithQuery:songs]
我有这个代码可以播放音乐库中的所有歌曲(通过 iTunes 添加并从 Apple Music 下载到库中)。 我不能只有歌曲。我做错了什么?
-(IBAction)playAllSongs:(id)sender {
MPMediaQuery *songsQuery = [MPMediaQuery songsQuery];
NSArray *songsArray = [songsQuery collections];
MPMediaItemCollection *items = [MPMediaItemCollection collectionWithItems:songsArray];
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController systemMusicPlayer];
[musicPlayer setQueueWithItemCollection:items];
}
我自己解决了
MPMediaQuery *songsQuery = [MPMediaQuery songsQuery];
NSArray *songsArray = [songsQuery items];
MPMediaItemCollection *items = [MPMediaItemCollection collectionWithItems:songsArray];
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController systemMusicPlayer];
//[songsQuery addFilterPredicate:[MPMediaPropertyPredicate predicateWithValue:[NSNumber numberWithBool:NO] forProperty:MPMediaItemPropertyIsCloudItem]]; // for iTunes Match or Apple music to exclude or not songs not in the device
[musicPlayer setQueueWithItemCollection:items];
以上答案有效,但这是一种迂回的方法。 更简单的方法:
MPMediaQuery *songs = [MPMediaQuery songsQuery];
MPMusicPlayerController *musicPlayer = [MPMusicPlayerController systemMusicPlayer];
[musicPlayer setQueueWithQuery:songs]