Sunday, 15 May 2011

javascript - Why isn't the YouTube iframe player calling onYouTubePlayerReady when it's loaded? -



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