MPMusicPlayer错误域= MPErrorDomain代码= 4?

时间:2017-09-04 09:40:16

标签: ios swift audio-player mpmusicplayercontroller

我遇到音乐播放器问题,大多数歌曲都会出现错误

  

错误域= MPErrorDomain代码= 4

测试设备有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音乐订阅

1 个答案:

答案 0 :(得分:7)

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

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

我会在准备之前或之后等待一段时间。

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