1

我正在开发一个音乐播放应用程序,该应用程序在 TableView 中显示 Apple Music 歌曲列表并按特定顺序播放它们,但 MPMusicPlayerController 的应用程序队列播放器存在问题。由于应用程序的要求,除了当前播放的歌曲外,我只能将一首歌曲添加到音乐播放器的队列中。从本质上讲,我从两首曲目开始音乐,一首正在播放,接下来是一首。当一首歌曲结束时,下一首歌曲开始播放,并且歌曲列表中的下一首歌曲使用该prepend()方法添加到播放器的队列中。

我看到的问题是skipToNextItem()方法。每当我跳过当前播放的歌曲时,都会收到以下错误堆栈跟踪:

 Queue[22723:4355683] [SDKPlayback] -
[MPMusicPlayerController prependQueueDescriptor] completed id=applicationMusicPlayer error:
Error Domain=MPCPlayerRequestErrorDomain Code=1000 
"Failed to send command 125" 
UserInfo= { 
   NSDebugDescription=Failed to send command 125, NSUnderlyingError=0x2809fa2b0 {
             Error Domain=MPCPlayerRequestErrorDomain Code=1000 "Failed to send command 125 (MRSendCommandError = 7)" 
             UserInfo= { NSDebugDescription=Failed to send command 125 (MRSendCommandError = 7) }
            }
      }

执行跳过操作时接下来播放的歌曲会按应有的方式播放。然而,一旦那首新歌结束,播放器的队列是空的,所以播放器表现得好像它到达了歌曲列表的末尾。它会暂停,并且在play()第一次调用时播放的任何歌曲都将成为当前播放的曲目。

让歌曲完全通过作品正常播放;下一首歌曲开始播放,并且一首歌曲从列表的顶部出现在队列中。只有在跳过曲目时才会出现此问题。我查看了音乐播放器的文档,以及 S/O 和开发者论坛,但无济于事。对此行为和/或错误消息的任何想法或想法将不胜感激!

4

0 回答 0