MPNowPlayingInfoCenter持续时间未显示

时间:2016-08-28 19:21:41

标签: ios swift mpnowplayinginfocenter

我正在尝试在Swift 2.2(Xcode 7)中编写一个可以播放音频的iOS 9应用程序。 我的所有文件都是从互联网上读取的,所以我选择StreamingKit并且可以在多个ViewController的后台播放,所以我创建了一个存储音频播放器实例的单例。

我成功让播放器在后台播放音频并在NowPlayingInfoCenter中显示信息,但我无法获得工作时间我得到了这个结果

enter image description here

当我开始播放我的文件时,我使用这些行初始化MPNowPlayingInfo

var nowPlayingInfo : Dictionary<String, AnyObject> = [
    MPNowPlayingInfoPropertyPlaybackRate : 1
]
if audioTitle != nil {
    nowPlayingInfo[MPMediaItemPropertyTitle] = audioTitle
}
else {
    nowPlayingInfo[MPMediaItemPropertyTitle] = NSLocalizedString("app_name", comment: "")
}
MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo = nowPlayingInfo

当缓冲完成后,我用这些行设置了附加信息

var nowPlayingInfo = MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo

//Time
nowPlayingInfo!["MPNowPlayingInfoPropertyElapsedPlaybackTime"] = NSNumber(double: self.audioPlayer.progress)
nowPlayingInfo!["MPMediaItemPropertyPlaybackDuration"] = NSNumber(double: self.audioPlayer.duration)

//Is playing
nowPlayingInfo!["MPNowPlayingInfoPropertyPlaybackRate"] = NSNumber(double: self.isPlaying ? 1.0 : 0.0)

//State
if isError {
    nowPlayingInfo![MPMediaItemPropertyArtist] = NSLocalizedString("player_error", comment: "")
} else if isLoading {
    nowPlayingInfo![MPMediaItemPropertyArtist] = NSLocalizedString("player_loading", comment: "")
} else {
    nowPlayingInfo![MPMediaItemPropertyArtist] = NSString(string: self.audioArtist!)
}

MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo = nowPlayingInfo

在我的NSNumber构造函数中传递的值的示例(从调试器检索): 进度= 1.892426303854875 持续时间= 62.85865814546887

我还尝试传递格式化的NSString,例如this answer,例如在调试器中检索的以下值: 进展= 0:02 持续时间= 1:03

玩家持续时间和搜索栏仍然像截图

有人可以帮我吗? 感谢

0 个答案:

没有答案