如何在WKWebView中检测视频播放器的播放/暂停事件?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在WKWebView中检测视频播放器的播放/暂停事件?相关的知识,希望对你有一定的参考价值。
考虑使用嵌入式代码,在Web视图中播放YouTube视频,
let videoID = "oxtP3wxXlTA" // https://www.youtube.com/watch?v=oxtP3wxXlTA
let embededhtml = "<html><body style='margin:0px;padding:0px;'><script type='text/javascript' src='http://www.youtube.com/iframe_api'></script><script type='text/javascript'>function onYouTubeIframeAPIReady(){ytplayer=new YT.Player('playerId',{events:{onReady:onPlayerReady}})}function onPlayerReady(a){a.target.playVideo();}</script><iframe id='playerId' type='text/html' width=100% height=100% src='http://www.youtube.com/embed/(videoID)?modestbranding=1?enablejsapi=1&rel=0&playsinline=1&autoplay=1' frameborder='0'></body></html>"
videoPlayerWebView.loadHTMLString(embededHTML as String, baseURL:Bundle.main.resourceURL )
是否有任何选项可以使用原生Swift代码跟踪视频播放器的播放或暂停事件?我尝试了很多javascript代码,但这不起作用,我也需要本机swift或objectiveC代码。
其他主要问题是,它可以是任何播放器,而不仅仅是YouTube播放器,需要跟踪来自任何类型的视频播放器的播放/暂停事件。
有人可以给我带头吗?关于如何跟踪事件?
答案
请使用此网址中的“YTPlayerView”https://github.com/youtube/youtube-ios-player-helper您可以使用此库中的以下Enum。
typedef NS_ENUM(NSInteger, YTPlayerState) {
kYTPlayerStateUnstarted,
kYTPlayerStateEnded,
kYTPlayerStatePlaying,
kYTPlayerStatePaused,
kYTPlayerStateBuffering,
kYTPlayerStateQueued,
kYTPlayerStateUnknown
};
以上是关于如何在WKWebView中检测视频播放器的播放/暂停事件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在WKWebView中禁用YouTube视频的自动播放?