我在我的应用中使用不同类型的播放器。我对所有这些都有一些控制权,但其中一个我根本没有。
当我从UIWebView播放嵌入视频时,特别是。
我的问题是,该应用需要在后台播放音频,效果很好。请注意,视频的音频不需要在后台播放。但这意味着我需要使用遥控器(命令中心和锁屏命令)。
我的问题如下:
在我从嵌入式播放视频后,遥控器仍可控制该视频,即使它已被解除。当我按“播放”时,它会播放我的收音机和嵌入式视频。
如何“清除指挥中心的记忆”?
我有足够的信息知道何时应用解决方案,但我不知道解决方案是什么。
解决方案可能包括在播放嵌入视频时使用命令中心的完全残疾,或直到播放我的收音机。解决方案可以包括命令中心的某种“硬重置”。
实际上,任何解决方案都是受欢迎的。
答案 0 :(得分:0)
这个问题有点老了,但是我只是解决了这个问题,觉得这可以帮助别人。阻止我重置命令中心的原因是我添加了目标操作,这些操作在视图控制器生命周期的实例之后仍然存在。
这是我的代码的样子。
在视图控制器上:
var commandPlay: Any?
var commandPause: Any?
添加目标时:
commandPlay = commandCenter.playCommand.addTarget {event in
self.startButtonTapped(self.startButton)
MPNowPlayingInfoCenter.default().nowPlayingInfo?[MPNowPlayingInfoPropertyPlaybackRate] = 1.0
return .success
}
commandPause = commandCenter.pauseCommand.addTarget {event in
self.startButtonTapped(self.startButton)
MPNowPlayingInfoCenter.default().nowPlayingInfo?[MPNowPlayingInfoPropertyPlaybackRate] = 0.0
return .success
}
解散以移除目标(重要部分):
commandCenter.playCommand.removeTarget(commandPlay)
commandCenter.pauseCommand.removeTarget(commandPause)