Я пытаюсь создать музыкальный проигрыватель с несколькими источниками с треками, поступающими с YouTube и Soundcloud, и я хотел бы переопределить содержимое MPNowPlayingInfoCenter, чтобы предоставить информацию об исполнителях/релизах вместо названия видео на YouTube.
Все работало хорошо, когда я использовал UIWebview, но по соображениям производительности мне пришлось переключиться на новый WKWebview, и теперь метод, который я использовал раньше для установки nowPlayingInfos, не действует.
Есть ли способ отключить автоматическое сопоставление тегов <audio>
и <video>
внутри HTML и/или переопределить информацию, которую он предоставляет, с моей информацией?
Вот код, который я использую, который работает на iOS 7 и работал на iOS 8, когда я использовал UIWebview:
let newInfos = [
MPMediaItemPropertyTitle: (currentPlaylist[currentPlaylistIndex] as! Track).trackName,
MPMediaItemPropertyArtist: (currentPlaylist[currentPlaylistIndex] as! Track).trackArtist,
MPMediaItemPropertyPlaybackDuration: NSNumber(integer: self.getDuration()),
MPNowPlayingInfoPropertyElapsedPlaybackTime: NSNumber(integer: self.getCurrentTime()),
MPNowPlayingInfoPropertyPlaybackRate: NSNumber(double: self.playing ? 1.0 : 0.0),
MPMediaItemPropertyArtwork: MPMediaItemArtwork(image: image)
]
MPNowPlayingInfoCenter.defaultCenter().nowPlayingInfo = newInfos
Я проверил, что ни одна из переменных, которые я использую, не равна нулю, и я активировал свою AudioSession в AppDelegate.
var audioSession = AVAudioSession.sharedInstance()
var error : NSError?
audioSession.setCategory(AVAudioSessionCategoryPlayback, error: &error)
audioSession.setActive(true, error: &error)
UIApplication.sharedApplication().beginReceivingRemoteControlEvents()
Любые идеи?