ios - 播放(非库)Apple Music 内容 - 请求失败

标签 ios swift mpmusicplayercontroller mpmediaquery apple-musickit

我正在尝试使用以下代码播放专辑...

let predicate = MPMediaPropertyPredicate(value: "1459938538", forProperty: MPMediaItemPropertyAlbumPersistentID)
let iCloudPredicate = MPMediaPropertyPredicate(value: true, forProperty: MPMediaItemPropertyIsCloudItem)
let query = MPMediaQuery.albums()
query.filterPredicates = [predicate, iCloudPredicate]

let mp = MPMusicPlayerController.applicationMusicPlayer
mp.setQueue(with: query)
mp.play()

但是失败了

[SDKPlayback] -[MPMusicPlayerController prepareToPlay] timeout

[MediaRemote] MRC <MPCPlayerPath: route=<MPAVEndpointRoute: 0x280f1a280 name=iPhone uid=LOCAL> origin=iPhoneID bundleID=com.apple.MediaPlayer.RemotePlayerService playerID=MPMusicPlayerApplicationController>: Undo optimistic state [failed] command=Play error=Error Domain=MPCPlayerRequestErrorDomain Code=1000 "Failed to send command 0 (MRMediaRemoteCommandHandlerStatus = 1)" UserInfo={NSDebugDescription=Failed to send command 0 (MRMediaRemoteCommandHandlerStatus = 1), MPCPlayerErrorKeyMediaRemoteCommandHandlerStatus=1}

[SDKPlayback] -[MPMusicPlayerController play] completed error: Error Domain=MPCPlayerRequestErrorDomain Code=1000 "Failed to send command 0" UserInfo={NSDebugDescription=Failed to send command 0, NSUnderlyingError=0x28344c810 {Error Domain=MPCPlayerRequestErrorDomain Code=1000 "Failed to send command 0 (MRMediaRemoteCommandHandlerStatus = 1)" UserInfo={NSDebugDescription=Failed to send command 0 (MRMediaRemoteCommandHandlerStatus = 1), MPCPlayerErrorKeyMediaRemoteCommandHandlerStatus=1}}}

• 如果我删除谓词,它将正常播放本地相册。

•  SKCloudServiceController.requestAuthorization.authorized

• 设备同时具有 .musicCatalogPlayback.addToCloudMusicLibrary能力。

1459938538似乎是一个有效的 ID(适用于最新的麦当娜专辑 - https://music.apple.com/gb/album/madame-x-deluxe/1459938538)

关于如何播放不在我的音乐库中的专辑有任何提示吗?

最佳答案

MPMediaQuery 仅适用于库项目。您需要使用 Web Apple Music 搜索 API 来获取用于设置队列的商店 ID。

关于ios - 播放(非库)Apple Music 内容 - 请求失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56689237/

相关文章:

python - 如何通过Python+Mingus设置多个乐器?

ios - 如何从特定轨道开始播放专辑?

iphone - 从应用程序用户那里存储 SQLite 文件的位置

ios - 如何在更改 uiview 的隐藏模式时添加动画?

ios - FIRDatabaseHandle 值或 childChanged

string - 如何将 UnsafePointer<CUnsignedChar> 转换为字符串?

ios - 带 MPMusicPlayerController 的 sleep 定时器

ios - 如何在 SWRevealViewController 中切换前 View Controller 顶部的后 View Controller 动画?

ios - iOS 打包神秘失败

ios - 向下滚动和向上滚动后 UITableViewCell 中的图像发生变化