HTML5   发布时间:2022-04-27  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 使用时出错 – [MPMediaPlaylist addItemWithProductID:completionHandler:]大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试使用9.3中的新Apple Music API将歌曲添加到我的应用程序创建的播放列表中,而不将其添加用户的库中.

虑产品ID 316654632,它是凤凰城的歌曲Lisztomania,位于美国iTunes Store.

使用以下代码,我可以播放这首歌

@H_190_11@mPMusicPlayerController *musicPlayer = [MPMusicPlayerController sy@L_929_4@musicPlayer]; [musicPlayer setQueueWithStorEIDs:@[@"316654632"]]; [musicPlayer play];

使用以下代码,我可以将歌曲添加到Apple Music库中

[[MPMediaLibrary defaultMediaLibrary] addItemWithProductID:@"316654632" completionHandler:^(NSArray<__kindof MPMediaEntity *> * _Nonnull entities,NSError * _Nullable error) {  
    NSLog(@"%@",error);  
}];

错误是零,我可以在我的库中看到这首歌.

但尝试使用播放列表同样不起作用.

[[MPMediaLibrary defaultMediaLibrary] getPlaylistWithUUID:uuid creationMetadata:[[MPMediaPlaylistCreationMetadata alloc] initWithName:@"Test Playlist"] completionHandler:^(MPMediaPlaylist * _Nullable playlist,error);

    if (!error) {  
        ;  
    }  
}];

播放列表已创建,我可以在Music.app中看到它,但是当我尝试添加相同的产品ID时,我播放了&添加到我的库到播放列表,我收到一个错误

错误域= MPErrorDomain代码= 4“无法找到请求的ID”UserInfo = {NSLocalizedDescription =找不到请求的ID}

但如果我成功将相同的项目添加到我的库中,怎么可能找不到呢?

updatE

好消息! Apple在10.2.1修复了rdar:// 26408683!

@H_801_36@解决方法 @H_674_38@ 在我的播放列表转换应用程序( mixlib)中,我发现可靠地将一些曲目添加到新创建的播放列表中的唯一解决方案是等待.

在我的测试中,等待五秒似乎就足够了.

[[MPMediaLibrary defaultMediaLibrary] getPlaylistWithUUID:uuid creationMetadata:[[MPMediaPlaylistCreationMetadata alloc] initWithName:@"Test Playlist"] completionHandler:^(MPMediaPlaylist * _Nullable playlist,NSError * _Nullable error) {  
if (!error) {  
    dispatch_after(dispatch_time(DISPATCH_TIME_Now,5 /*seconds*/ * NSEC_PER_SEC),dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0)),^() {
        ;  
}  
}];

我怀疑它是服务器/网络相关的问题,因为它有时无需等待.未找到的“请求的id”可以是播放列表id,而不是轨道id.

当它开始为播放列表工作时,它将始终有效.因此,您无需在添加每个附加轨道之前等待,而只需在添加一个轨道之前.

大佬总结

以上是大佬教程为你收集整理的ios – 使用时出错 – [MPMediaPlaylist addItemWithProductID:completionHandler:]全部内容,希望文章能够帮你解决ios – 使用时出错 – [MPMediaPlaylist addItemWithProductID:completionHandler:]所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。