Mar*_*ale 9 media-player ios swift wkwebview
我正在尝试使用来自YouTube和Soundcloud的曲目创建一个多源音乐播放器,我想覆盖MPNowPlayingInfoCenter的内容,以提供有关艺术家/发行版的信息,而不是YouTube视频的名称.
当我使用UIWebview时,一切都运行良好,但出于性能原因,我不得不切换到新的WKWebview,现在我用来设置nowPlayingInfos的方法没有效果
有没有办法禁用HTML 中的<audio>和<video>标签的自动映射和/或覆盖它为我的信息提供的信息?
这是我在iOS 7上使用的代码,当我使用UIWebview时在iOS 8上工作:
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
Run Code Online (Sandbox Code Playgroud)
我检查过我使用的变量都没有,我在AppDelegate中激活了我的AudioSession
var audioSession = AVAudioSession.sharedInstance()
var error : NSError?
audioSession.setCategory(AVAudioSessionCategoryPlayback, error: &error)
audioSession.setActive(true, error: &error)
UIApplication.sharedApplication().beginReceivingRemoteControlEvents()
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
虽然在 iOS 上不可能覆盖属性本身,但应该注意的是,<video>在 JavaScript 中更改元素的“title”属性
我已经实现了这种行为
var control = ...; //Create video DOM control
control.title = "Desired title";
Run Code Online (Sandbox Code Playgroud)