使用MPRemoteCommandCenter时,不会调用播放/暂停回调

时间:2016-01-21 13:51:26

标签: ios swift mpmusicplayercontroller

我正在构建一个音乐播放器应用程序,一切正常。到目前为止我一直在使用系统音乐播放器,但现在想转而使用应用程序音乐播放器,这就是我遇到问题的地方 - 对于我的生活我无法弄清楚如何让我的播放/暂停从iOS控制中心调用的回调。这是我在主视图控制器中使用的代码:

for b in range(7):

3 个答案:

答案 0 :(得分:3)

我遇到了同样的问题,并注意到togglePlayPauseCommand的回调未被调用,但是previousTrackCommand。所以在经过一些实验后,我通过删除togglePlayPauseCommand来实现这一点,而不是单独实现playCommandpauseCommand的内联回调 - 请注意使用自定义选择器不起作用,它们必须是内联回调。

let commandCenter = MPRemoteCommandCenter.shared()

commandCenter.playCommand.addTarget { (commandEvent) -> MPRemoteCommandHandlerStatus in
    moviePlayer.prepareToPlay()
    moviePlayer.play()
    return MPRemoteCommandHandlerStatus.success
}

commandCenter.pauseCommand.addTarget { (commandEvent) -> MPRemoteCommandHandlerStatus in
    moviePlayer.pause()
    return MPRemoteCommandHandlerStatus.success
}

答案 1 :(得分:1)

尝试将Required background modes添加到Info.plist,如下所示:

Info.plist screenshot

答案 2 :(得分:-3)

将您的代码放在viewDidApper中。