我的页面中嵌入了YouTube视频。它是隐藏的(显示:无)。您需要单击其中一个视频链接按钮才能显示视频并进行播放。链接定义如下:
<a href="javascript:play('xxxxxxxxxxx')">Video 1</a>
<a href="javascript:play('xxxxxxxxxxx')">Video 2</a>
xxxxxxxxx代表YouTube视频ID。
这是播放功能:
function play(id)
{
ytplayer.style.display = 'block';
ytplayer.loadVideoById( id, 0, 'hd1080' );
}
它从根本上说非常简单!但这是问题所在。由于隐藏了视频播放器,因此不会激活Flash对象。因此,当我点击视频链接时,行ytplayer.style.display = 'block';
会显示视频播放器,但闪存加载大约需要半秒钟。在此期间,它无法接受任何方法调用,例如下一行ytplayer.loadVideoById( id, 0, 'hd1080' );
。基本上,我必须点击链接两次,一次加载flash视频播放器,第二次实际将视频加载到播放器中。
答案 0 :(得分:0)
看起来,一旦启用视频,您需要设置并等待回调:
onYouTubePlayerReady(playerid)
(摘自本页:http://code.google.com/apis/youtube/js_api_reference.html)
在该功能中,您可以进行任何需要加载播放器的调用:
ytplayer.loadVideoById( id, 0, 'hd1080' );
如果您没有使用chromeless播放器,则可能需要侦听onStateChange和onError事件。