我在网页上有一个YouTube播放器。我需要动态更改此播放器播放的视频。
使用YouTube的无边框播放器(相对)很容易。方法loadVideoById()
完美无缺。问题是,无边框播放器没有任何控件(播放/暂停等)。 regular YouTube player拥有所有这些,但它没有loadVideoById()
方法。
有没有办法将普通玩家的控件包含在无格式播放器中,或者在常规播放器中实现loadVideoById()
方法?
感谢。
答案 0 :(得分:5)
您不能这样做,因为“常规YouTube播放器”中的调用将URL中的VideoID替换为参数:
而不是你可以轻松创建自己的功能来改变Embbebed SWF,我的意思是说你使用swfobject作为“常规玩家”,然后使用createSWF function你将能够为动态替换以前的视频。
希望这对你有所帮助。
答案 1 :(得分:3)
答案 2 :(得分:2)
仅供参考,还有一个jQuery插件可以为您完成,并为您提供大量的控件!
答案 3 :(得分:1)
我发现使用loadVideoByUrl()作为loadVideoByIdl()的替代方法而不是使用createSWF更容易,你不必以这种方式搞乱swfobject,它是一个内置函数......只需使用视频用于创建youtube swf网址的ID,例如:url =“http://www.youtube.com/e/”+ VIDEO_ID +“?enablejsapi = 1& version = 3”并使用loadVideoByUrl()函数提交,如下所示: player.loadVideoByUrl(url)
这样你就不必乱搞swfobject了,这里有拼写:
http://code.google.com/apis/youtube/js_api_reference.html#loadVideoById
“player.loadVideoByUrl(mediaContentUrl:String,startSeconds:Number):Void 加载并播放指定的视频。
* The mediaContentUrl must be a fully qualified YouTube player URL in the format http://www.youtube.com/e/VIDEO_ID. In YouTube Data API video feeds, the url attribute of the <media:content> tag contains a fully qualified player URL when the tag's format attribute has a value of 5.
* startSeconds accepts a float/integer and specifies the time from which the video should start playing. If startSeconds (number can be a float) is specified, the video will start from the closest keyframe to the specified time."