MPMusicPlayer 错误域=MPErrorDomain 代码=4?

MPMusicPlayer Error Domain=MPErrorDomain Code=4?

我的音乐播放器有问题,大多数歌曲都出现错误

Error Domain=MPErrorDomain Code=4

测试设备订阅了 Apple 音乐,曲目在应用程序上出现错误,但在 Apple 音乐应用程序中运行正常!

代码如下:

let applicationMusicPlayer = MPMusicPlayerController.systemMusicPlayer()
 applicationMusicPlayer.setQueueWithStoreIDs([ID])

      if #available(iOS 10.1, *)
      {

        applicationMusicPlayer.prepareToPlay { (error) in

            if (error != nil)
            {
                print("[MUSIC PLAYER] Error preparing : \(String(describing: error))")
                return
            }else
            {
                self.start_timer();
                self.applicationMusicPlayer.play()
            }

        }

      }else
      //Play directly ios below version 10.1
      {
        self.applicationMusicPlayer.play()
      }

    }

但是我尝试过,当曲目出现此错误时,我转到 Apple 音乐播放器并从那里播放它,它工作正常,然后我回到我的应用程序并从我的应用程序播放它,它也工作正常,所以我需要转到 Apple 音乐应用程序来播放未在我的应用程序中播放的曲目,以使它们在我的应用程序中工作!太奇怪了,知道为什么吗?

PS: 测试设备有 Apple music 订阅

我在将歌曲添加到播放列表时遇到了一些类似的问题,使用以下方法解决了:

DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(5)) {
    // Code
}

我会在准备之前或之后稍等片刻。

5 秒可能太多了,但您可以从那里开始