为 MPMediaItemArtwork 声明变量 (init() 不可用)



我正在为控制中心创建专辑封面,如下所示:

func updateNowPlayingCenter (title: String, artist: String, PlaybackRate: Double){
var artwork = MPMediaItemArtwork()
let image:UIImage = UIImage(named: title)!
if #available(iOS 10.0, *) {
artwork = MPMediaItemArtwork.init(boundsSize: image.size, requestHandler: { (size) -> UIImage in
return image
})
} else {
artwork = MPMediaItemArtwork(image: image)
}

var songInfo: Dictionary <NSObject, AnyObject> = [
MPMediaItemPropertyTitle as NSObject: title as AnyObject,
MPMediaItemPropertyArtist as NSObject: artist as AnyObject,
MPMediaItemPropertyArtwork as NSObject: artwork as AnyObject,
MPMediaItemPropertyPlaybackDuration as NSObject: audioPlayer.duration as AnyObject,
MPNowPlayingInfoPropertyElapsedPlaybackTime as NSObject: audioPlayer.currentTime as AnyObject,
MPNowPlayingInfoPropertyPlaybackRate as NSObject: PlaybackRate as AnyObject
]

MPNowPlayingInfoCenter.default().nowPlayingInfo = songInfo as [NSObject : AnyObject] as! [String : Any]
}

但是我得到错误

init(( 不可用

在一行又一行artwork = MPMediaItemArtwork()行上。那么,如何为artwork声明一个变量,以便我可以在线调用它MPMediaItemPropertyArtwork as NSObject: artwork as AnyObject,

好的,非常简单的修复。我刚刚更换了

if #available(iOS 10.0, *) {
artwork = MPMediaItemArtwork.init(boundsSize: image.size, requestHandler: { (size) -> UIImage in
return image
})
} else {
artwork = MPMediaItemArtwork(image: image)
}

let artwork = MPMediaItemArtwork(image: image)

相关内容

  • 没有找到相关文章

最新更新