访问 iPod 库以与 AVAudioPlayer 一起使用或使用 AVPlayer 远程控制事件

soo*_*per 2 cocoa-touch avaudioplayer ios avplayer

我在这里阅读了很多主题,但还没有找到正确的主题。iPod 库中的文件不能播放已经解释的很好了AVAudioPlayer,但这是否意味着根本没有办法呢?

AVPlayer允许您这样做,但我的问题是您无法在后台接收远程控制事件。这是我目前阅读的内容,但奇怪的是:我在 App Store 中遇到了几个应用程序,它们允许您访问 iPod 库并在应用程序和后台播放音乐. 它不使用,MPMusicPlayerController因为它不使用音乐应用程序播放歌曲,也不会在进入后台时停止(应用程序的图标也出现在多任务栏中)。此外,一旦它在后台(播放/暂停/下一个/上一个/卷等),您就可以控制应用程序。这个应用程序的音量以某种方式与 iPod 音乐播放器的音量“同步”,我只能假设它已经注册了音量变化通知MPMusicPlayerControllerVolumeDidChangeNotification

我的问题是: 1. 他们是如何做的,他们使用的是什么课程?如果他们正在访问 iPod 库,那么它必须是AVPlayer. 但是您不能使用AVPlayer (除了playerItemDidReachEnd)接收远程控制事件,因此它必须是AVAudioPlayer。但是您无法使用AVAudioPlayer 2播放您的 iPod 库。他们如何使用 iPod 库中的音量设置,以及他们如何保持“同步”。

该线程回答声称可以访问 iPod 库AVPlayer 仍然接收外部事件/通知。这怎么样?他只是注册您通常会在AVAudioPlayer课堂上注册的事件吗?

对此非常困惑。希望得到一些指导。

soo*_*per 5

对于任何寻找答案的人,我在这里找到了一个很棒的教程它几乎可以让您走上正确的道路。你必须使用AVPlayer,但建立一个音频会话你会用同样的方式AVAudioPlayer。此外,您需要启用远程事件并将主视图控制器设置为第一响应者。教程中很好地解释了这一点。