使用 AVAudioPlayer 控制锁定屏幕上的音频
Posted
技术标签:
【中文标题】使用 AVAudioPlayer 控制锁定屏幕上的音频【英文标题】:Control audio on lock screen using AVAudioPlayer 【发布时间】:2017-12-19 15:55:20 【问题描述】:我为音频启用了后台模式,并且我使用此方法播放文件,但是当屏幕锁定时我无法控制它们。
func loadSound(resource: String, soundExtension: String)
guard let url = Bundle.main.url(forResource: resource, withExtension: soundExtension) else
return
UIApplication.shared.beginReceivingRemoteControlEvents()
do
try AVAudiosession.sharedInstance().setCategory(AVAudioSessionCategoryPlayback)
try AVAudioSession.sharedInstance().setActive(true)
player = try AVAudioPlayer(contentsOf: url, fileTypeHint: AVFileType.mp3.rawValue)
catch let error
print(error.localizedDescription)
【问题讨论】:
【参考方案1】:遇到同样问题的人,在问题方法中调用这个方法
fileprivate let remoteCommandCenter = MPRemoteCommandCenter.shared()
func activateControlCenterCommands()
remoteCommandCenter.playCommand.addTarget(self, action: #selector(handlePlayCommandEvent(_:)))
remoteCommandCenter.pauseCommand.addTarget(self, action: #selector(handlePauseCommandEvent(_:)))
remoteCommandCenter.playCommand.isEnabled = true
remoteCommandCenter.pauseCommand.isEnabled = true
【讨论】:
以上是关于使用 AVAudioPlayer 控制锁定屏幕上的音频的主要内容,如果未能解决你的问题,请参考以下文章
在 iPad 锁定屏幕(背景)上显示 AVAudioplayer 持续时间和经过时间