单击按钮时更改嵌入youtube视频中的时间
Change time in embedded youtube video when a button is clicked
我想嵌入一个youtube视频并提供按钮,当你点击它们时,这些按钮会转到视频中的特定时间并从那里继续播放。我尝试过使用jquery并更改"src"属性,如下所示:
原始来源:
<iframe src="http://www.youtube.com/embed/PjDw3azfZWI?&t=5m30s&rel=0&">
JS:
$("#link1").click(function() {
$("#video").attr("src", "http://www.youtube.com/embed/PjDw3azfZWI?&t=10m30s&rel=0&");
});
这导致浏览器在我单击按钮时刷新。
链接到我的想法:https://i.stack.imgur.com/PH0If.png.单击按钮应使视频跳转到指定的时间。
您不应该重新加载iframe来控制视频;使用Javascript API方法。查看查看此处:https://developers.google.com/youtube/iframe_api_reference#Playback_controls
基本上,一旦你的iframe加载,JS API将调用YouTubeIframeAPIReady(),在那里你构建一个YouTube播放器对象。然后,您可以使用播放器引用来控制视频,例如player.seekTo().
您仍然可以使用您的iframe,如本节底部所述:
如"入门"部分所述页面上的空元素,播放器API的JavaScript然后代码将替换为一个元素,您可以创建给自己贴标签。
如果您确实编写了标记,那么在构造YT.Player对象时,不需要指定宽度和高度的值,这些值被指定为标记的属性,也不需要指定videoId和播放器参数,这些参数在srcURL中指定。
您的代码缺少YT.Player对象,您必须在上面提到的回调方法中构造它。这提供了对播放器控件的访问。
这是一个Fiddle演示:
var player, seconds = 0;
function onYouTubeIframeAPIReady() {
console.log("player");
player = new YT.Player('player', {
events: {
'onReady': onPlayerReady
}
});
}
function onPlayerReady(event) {
event.target.playVideo();
}
function seek(sec){
if(player){
seconds += sec;
player.seekTo(seconds, true);
}
}
您可以将这些代码放在一个单独的脚本中,但要确保它在根范围内(就像在head标记中一样),而不是放在onLoad处理程序中。
- 是否可以使用iframe API在iOS浏览器上播放youtube视频
- html5视频中的Youtube类型注释
- 使用javascript将视频从我的android应用程序上传到youtube
- 如何用低音量自动启动Youtube视频(iframe)
- 使用HTML5播放器时使用Javascript更改Youtube视频
- 有没有办法在dailymotion播放器的新测试版中播放youtube视频
- 在Android Kitkat上模拟鼠标点击Youtube视频
- 我们如何在dailymotion播放器的新测试版中播放youtube视频
- Lightbox关闭时停止播放Youtube视频
- 放大弹出生成“;找不到文件”;YouTube视频的错误
- 如何获取youtube视频的缩略图
- 如何重定向到我的html网站youtube嵌入视频打开在youtube应用程序
- 从我的频道中提取最后3个youtube视频
- 检测YouTube上的360度视频
- 如何修改此功能以获得最受欢迎的视频?(YouTube API v3)
- Iframe视频(Youtube)滑动
- 检索播放列表视频YouTube API的持续时间、视频图片和视图
- 滑动方块益智游戏,视频(youtube)背景
- 就浏览器兼容性而言,ifram或
- 如何获得第一个视频结束后的最后一个视频YouTube api