gpt4 book ai didi

ios - MPMusicPlayerController:结合 iPodMusicPlayer 和 applicationMusicPlayer 以防止继续下一首轨道

转载 作者:行者123 更新时间:2023-11-29 13:34:25 25 4
gpt4 key购买 nike

我有一个奇怪的问题。我有一个使用 [MPMusicPlayerController iPodMusicPlayer] 的音乐应用程序。一切正常,轨道变化和播放状态变化的通知被触发。

我有一个屏幕,用户需要在其中查看一首歌曲,我不希望他继续播放队列中的下一首歌曲。由于没有指定轨道何时更改(仅 DID 更改)的委托(delegate)方法,为了防止音乐播放器继续播放下一首轨道,我使用了新的 [MPMusicPlayerController applicationMusicPlayer],将 iPodMusicPlayer 当前正在播放的给它歌,一切都很好。没有新的轨道可以继续播放,我也没有触及原始的 iPodMusicPlayer 队列,所以理论上,当我关闭此屏幕并再次使用 iPodMusicPlayer 时,一切都应该是完美的很好。

但是,当用户在此屏幕上完成并关闭它时,iPodMusicPlayer 现在突然坏了,没有调用通知,当我将应用程序置于后台时,音乐停止播放,导致我相信 iPodMusicPlayer 现在实际上是 applicationMusicPlayer

好吧,我的问题基本上是:我需要一种方法来防止音乐播放器继续播放队列中的下一首轨道。如上所述,切换到带有一个轨道的 applicationMusicPlayer 似乎会破坏一些东西。什么是最佳解决方案?

编辑:因为这可能有点难以理解,我创建了一个小项目来展示问题:https://github.com/kevinrenskers/MPMusicPlayerControllerTest .在播放音乐时打开应用程序,查看播放按钮是否正常运行。现在打开弹出窗口,再次关闭它,播放按钮坏了。

最佳答案

我找到了解决问题的方法:将 repeatMode 设置为 MPMusicRepeatModeOne,然后捕获 MPMusicPlayerControllerNowPlayingItemDidChangeNotification 通知。您可以停止播放并且永远不会继续播放下一首轨道。完成第二个屏幕后,我将 repeatMode 重置为原始值。

关于ios - MPMusicPlayerController:结合 iPodMusicPlayer 和 applicationMusicPlayer 以防止继续下一首轨道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10984203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com