在后台模式下播放音频时,播放器控件会出现在锁定屏幕上。音频停止后如何将其删除?如果尝试设置:
MPNowPlayingInfoCenter.default().nowPlayingInfo = nil
播放器仍在锁定屏幕上,但艺术家/歌曲字段为空
UPD(我的音频会话代码):
在AppDelegate中:
func setupAudioSession() {
let audioSession = AVAudioSession.sharedInstance()
do {
try audioSession.setCategory(AVAudioSessionCategoryPlayback)
try audioSession.setActive(true)
} catch {
print("Setting category to AVAudioSessionCategoryPlayback failed.")
}
}
在播放器类中:
private func clearRemotePlayerInfo() { // call after stop button pressed
try? AVAudioSession.sharedInstance().setActive(false)
MPNowPlayingInfoCenter.default().nowPlayingInfo = [:]
}
答案 0 :(得分:4)
TL; DR
Github上的示例:https://github.com/JakubMazur/SO52243428
您不应为此if (is!TRUE(file.exists("data"))) {
dir.create("data")
}
分配nil
。
要实现这一目标,您应该做的是:
nowPlayingInfo
所以代码如下:
nowPlayingInfo
它将表现为:
我已经编写了尽可能简单的示例进行试用。它在Github https://github.com/JakubMazur/SO52243428上可用。随时检查一下,它与您的情况相符。