-->

MPMusicPlayerController:结合iPodMusicPlayer和applicat

2019-09-18 01:08发布

我有一点奇怪的问题。 我有一个使用音乐应用[MPMusicPlayerController iPodMusicPlayer] 一切都很好,通知了轨道变化和播放状态变化被解雇。

我有一个屏幕,用户需要查看一个单首歌曲,我不希望他去到他的队列中的下一首歌曲。 由于是当轨道将改变没有委托方法(仅的确发生了变化),以防止音乐播放持续到下一首曲目我用一个新的[MPMusicPlayerController applicationMusicPlayer]给它iPodMusicPlayer的当前播放的歌曲,一切都很好。 没有新的轨道继续,我不会触及原iPodMusicPlayer队列因此从理论上讲,当我关闭这个屏幕,并使用iPodMusicPlayer再次,都应该是完美的罚款。

但是,当用户在这个屏幕上完成,并且关闭它, iPodMusicPlayer现在突然坏了,通知不会被调用,当我把应用的背景下,音乐停止播放,使我相信, iPodMusicPlayer现在实际上applicationMusicPlayer

好了,所以我的问题基本上是:我需要一种方法来防止音乐播放器继续在队列中的下一首曲目。 切换到applicationMusicPlayer与一个轨道似乎打破东西,如上所述。 什么是最好的解决方案?

编辑 :因为这可能会有点难以理解,我创建了一个小项目,借以说明问题: https://github.com/kevinrenskers/MPMusicPlayerControllerTest 。 打开而音乐播放应用程序,看到播放按钮正确的行为。 现在打开弹出,再次关闭和播放按钮坏了。

Answer 1:

我发现了一个解决我的问题:设置repeatModeMPMusicRepeatModeOne ,然后赶上MPMusicPlayerControllerNowPlayingItemDidChangeNotification通知。 您可以停止播放,你永远不继续到下一首曲目。 一旦我与第二画面做我的重置repeatMode为原始值。



文章来源: MPMusicPlayerController: combine iPodMusicPlayer and applicationMusicPlayer to prevent continuing to next track