我有一个发布的应用程序,刚刚开始在MPMusicPlayer上设置苹果音乐曲目的nowPlayingItem有问题。对于设备上的iTunes曲目,这段代码可以正常工作,但如果媒体项目集是苹果音乐曲目,则用户的苹果音乐库中的随机曲目--但不在当前播放队列中--最终会播放。我怀疑iOS10.3.x中有什么变化,或者苹果音乐正在燃烧。有谁知道我怎么解决这个问题吗?
基本代码是:
MPMusicPlayerController *musicPlayer;
[musicPlayer stop];
NSLog(@"*** trying to set nowplayingitem to %@", [UIAppDelegate.activeTrack.mediaitem valueForProperty:MPMediaItemPropertyTitle]);
musicPlayer.nowPlayingItem = UIAppDelegate.activeTrack.mediaitem ;
NSLog(@"nowplaying item is:%@", musicPlayer.nowPlayingItem.title);
[musicPlayer play];
if (![musicPlayer.nowPlayingItem.title isEqualToString:UIAppDelegate.activeTrack.name]){
NSLog(@">>>>>>> now playing does not equal current track so return and scratch head");
return;
} 2017-04-14 09:43:14.535079-0400MyFitnessDJ720:241825*正在尝试将now nowplayingitem设置为错误2017-04-14 09:43:14.761134-0400 MyFitnessDJ720:241825现在播放的项是:(Null) 2017-04-14 09:43:14.819226-0400MyFitnessDJ720:241825 >>>>>>> now head不等于当前曲目,因此return和scratch head不相等
有没有人知道为什么iOS10.3.x现在播放的项目不能设置成正确的Apple Music曲目,或者Apple Music中可能会有一些问题?
发布于 2017-04-18 03:25:57
似乎在尝试设置nowPlayingItem之前过早停止音乐播放器会导致音乐播放器播放随机曲目。我仍然不明白为什么,但是如果音乐播放器没有停止,nowPlayingItem是可以设置的。
发布于 2017-09-21 04:19:50
如果有人因为iOS 11中的类似问题而遇到这篇文章,我又回到了同样的问题。保持musicPlayer播放不起作用,wayneh的上述解决方案也不起作用。
在iOS11的普通版本中,尝试在播放(或不播放)的MPMusicPlayerController上设置nowPlayingItem会产生意外的结果。有时,它挂起系统长达5秒,然后可能播放所请求的曲目;有时挂起长达5秒,然后播放不同的曲目(设备上的曲目,但不一定在队列中);或者,有时先前播放的曲目继续播放,呼叫没有明显影响。哦,有时它会像预期的那样立即播放请求的曲目;-)
如果任何人有任何幸运,使这项工作一致,请张贴。
https://stackoverflow.com/questions/43414871
复制相似问题