一个youtube播放器具有onStateChange
事件的以下处理程序:
function onPlayerReady(event) {
if (event.data == YT.PlayerState.PLAYING) {
if (event.something) {
console.log("The player is playing because the user clicked the 'play' button")
} else {
console.log("The player is playing because player.playVideo() was called programatically");
}
}
}
题:
我可以使用对象
something
中的属性event
来确定playing state
的来源吗?我需要区分
playing state
的两个可能原因:player.playVideo()
API有可能吗?如果没有,关于如何以优雅的方式实现它的任何想法?
最佳答案
YouTube Iframe Player API不会公开播放器控件本身的任何事件,而且我也不认为将内容包装在DIV中会有所帮助,因为单击事件不会冒充iFrame。您可以嵌入无镶边播放器,然后构造自己的播放器控制栏;这样,您将拥有对控制按钮的完全访问权限,并可以捕获其上的点击事件。