【问题标题】:How to play music from the ipod in custom app when the app goes to background当应用程序进入后台时,如何在自定义应用程序中播放来自 ipod 的音乐
【发布时间】:2012-07-09 03:41:20
【问题描述】:

我正在开发一个音乐应用程序,即使应用程序进入后台并使用beginReceivingRemoteControlEvents,音乐也会继续播放,以便用户可以通过在 iPhone/iPad 上单击两次主页按钮来控制播放状态。

我浏览了 Apple 开发的“音乐应用程序”示例,它使用 MPMusicPlayerController 从 iPod 库中获取歌曲,但一旦应用程序进入后台,它就会停止歌曲,并且不支持 beginReceivingRemoteControlEvents

我查看了几篇说使用 AVPlayer 的文章,但它不支持从 iPod 库中获取音乐,所以我被困在如何在应用程序进入后台并通过 remoteEvents 控制时播放音乐。

【问题讨论】:

  • 谁能帮我解决这个问题
  • 您是否使用 UIBackgroundModes 的“音频”键注册了您的应用以在后台运行?

标签: objective-c ios xcode cocoa-touch ios5


【解决方案1】:

iPodMusicPlayer 将在后台播放,但通过 iOS iPod 音乐播放器播放。您的应用不会在后台收到通知。为此,您需要设置一个 AVAudioSession 并使用 AVPlayer 播放。

Check here for more information

Apple has a great resource here

来自 Apple 文档:

使用 MPMusicPlayerController 对象或音乐播放器来播放设备 iPod 库中的媒体项目。有两种类型的音乐播放器:

应用音乐播放器在您的本地播放音乐 应用。它不知道 iPod 应用程序正在播放的项目,也不知道 它会影响 iPod 状态吗?

iPod 音乐播放器采用 代表您的内置 iPod 应用程序。在实例化时,它具有 当前 iPod 应用程序状态,例如 正在播放的项目。如果用户在播放音乐时离开您的应用 播放,那音乐继续播放。然后 iPod 应用程序拥有您的 音乐播放器最近设置的重复模式、随机播放模式、播放 状态和正在播放的项目。

确保您正在使用

+ iPodMusicPlayer

而不是

+ applicationMusicPlayer

Here is a good article on how to import the library into an AVAudioSession

在 info.plist 文件中添加一个名为“UIBackgroundModes”的行 输入“audio”作为第一个键。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-02-04
    • 1970-01-01
    • 2011-10-31
    • 1970-01-01
    • 1970-01-01
    • 2018-03-03
    • 1970-01-01
    相关资源
    最近更新 更多