在swift中无法控制来自控制中心的音频
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在swift中无法控制来自控制中心的音频相关的知识,希望对你有一定的参考价值。
我有一个控制中心的问题我需要通过控制中心从后台控制音频播放我设置了以下代码:
override func viewDidLoad() {
super.viewDidLoad()
let mpic = MPNowPlayingInfoCenter.default()
mpic.nowPlayingInfo = [
MPMediaItemPropertyTitle:arrayOfUrl[index].lastPathComponent,
MPMediaItemPropertyArtist:"Collection Of Audios"
]
}
我收到来自的控制事件
override func remoteControlReceived(with event: UIEvent?)
我设置以下代码
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
UIApplication.shared.beginReceivingRemoteControlEvents()
self.resignFirstResponder()
}
一切都很好,工作问题只有我可以控制我的音频从控制中心如果我播放一个音乐和从这个音乐我退出应用程序在这种情况下我可以控制音频喜欢播放,暂停,下一个等等但如果我试图通过应用程序从另一个页面控制来自控制中心的音频控制中心没有响应下一个,之前我的代码中的错误,请帮助控制中心响应我的应用程序来自我的应用程序中的任何地方就像我播放音频一样,我退出页面音频和当前播放的音频,然后从该页面退出应用程序
非常感谢你
答案
这篇文章太旧了,但也许这可以帮助别人。您可以将此方法添加到您的班级:
//*****************************************************************
// MARK: - Remote Command Center Controls
//*****************************************************************
func setupRemoteCommandCenter() {
// Get the shared MPRemoteCommandCenter
let commandCenter = MPRemoteCommandCenter.shared()
// Add handler for Play Command
commandCenter.playCommand.addTarget { event in
//Do stuff here or play your mediaPlayer
return .success
}
// Add handler for Pause Command
commandCenter.pauseCommand.addTarget { event in
//Do stuff here or pause your mediaPlayer
return .success
}
// Add handler for Next Command
commandCenter.nextTrackCommand.addTarget { event in
//Do stuff
return .success
}
// Add handler for Previous Command
commandCenter.previousTrackCommand.addTarget { event in
//Do stuff
return .success
}
}
然后在onCreate方法中调用该方法:
// Setup Remote Command Center
setupRemoteCommandCenter()
以上是关于在swift中无法控制来自控制中心的音频的主要内容,如果未能解决你的问题,请参考以下文章