2017-07-26 8 views
0

私はこのように、コントロール・センターのためのアルバムアートを作成しています。)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,という行で呼び出すことができますか?

答えて

0

Ok、かなり単純な修正。私はちょうどそれが笑だった

let artwork = MPMediaItemArtwork(image: image) 

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

を置き換えます。

関連する問題