javascript - Why isn't the YouTube iframe player calling onYouTubePlayerReady when it's loaded? -
i want load youtube video, mute, play, pause, , unmute immediately. in doing this, hope nowadays user video doesn't have big play button on it, , have controls on bottom. in order this, have next code:
<script type="text/javascript"> function onyoutubeplayerready(playerid) { muteplaypauseunmute(playerid); } function onyoutubeplayerapiready(playerid) { muteplaypauseunmute(playerid); } function onyoutubeiframeapiready(playerid) { muteplaypauseunmute(playerid) } function onplayerready(playerid) { muteplaypauseunmute(playerid) } function muteplaypauseunmute(playerid) { var player = document.getelementbyid(playerid); player.mute(); player.playvideo(); player.pausevideo(); player.unmute(); } </script> <iframe id="quotedvideo1" type="text/html" width="246" height="160" src="https://www.youtube.com/embed/nwhfy_lvkiq?modestbranding=1&rel=0&showinfo=0&autohide=1&iv_load_policy=3&theme=light&enablejsapi=1&playerapiid=quotedvideo1" frameborder="0"> <!-- magic comment --> </iframe>
however, upon inspection, neither onyoutubeplayerready
, onyoutubeplayerapiready
, onyoutubeiframeapiready
, onplayerready
, nor muteplaypauseunmute
ever called. what have done wrong? according https://developers.google.com/youtube/js_api_reference#onyoutubeplayerready looks should work, doesn't.
you're confusing 2 different player apis here.
do want utilize iframe player? if so, you'll want at: https://developers.google.com/youtube/iframe_api_reference.
instead of defining onyoutubeplayerready
, you'll want define next method: onyoutubeiframeapiready
, create player, , assign onplayerready
callback.
make sure you're including javascript iframe player api, in order onyoutubeiframeapiready
called:
var tag = document.createelement('script'); tag.src = o.protocol + "://www.youtube.com/iframe_api"; var firstscripttag = document.getelementsbytagname('script')[0]; firstscripttag.parentnode.insertbefore(tag, firstscripttag);
worth noting doc, since you're writing iframe instead of using javascript you:
if write tag, when build yt.player object, not need specify values width , height, specified attributes of tag, or videoid , player parameters, are specified in src url.
also, in muteplaypauseunmute function..
playerid.mute(); playerid.playvideo(); playerid.pausevideo(); playerid.unmute();
you'll want trigger actual methods on player
opposed playerid
described above.
javascript youtube-api youtube-javascript-api
No comments:
Post a Comment