Is there a way to “seek” to a certain time in a video using JavaScript?

守給你的承諾、 提交于 2019-11-28 01:51:25

问题


I have an iframe with a video, for example:

<iframe src="http://player.vimeo.com/video/18150336" width="500" height="281" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>

The source won't always be vimeo, it can be YouTube, BrightCove, Hulu etc etc.

Is there a way to use jQuery/JavaScript to "seek" to a certain time in the video? For example, if I wanted to get to 3:41 inside of a video could I write code to automatically seek to that time w/o API access to the sites providing the video?


回答1:


Sure. You can use VideoJS. You may have a hard time getting control of the iFrame as you put it. You can embed various video hosting sites' video with VideoJS, supposedly.

<script>
VideoJS.DOMReady(function() {
var player = VideoJS.setup("current_video");
player.play();
player.currentTime(666);
});
</script>

ref:

https://github.com/zencoder/video-js/blob/df41661f47201cfbc979b1fbba68fba3d67c06b0/dev/src/tech/youtube.js

http://videojs.com/

https://github.com/zencoder/video-js/blob/master/docs/api.md




回答2:


Unless your website also has the host, protocol and port of http://player.vimeo.com, you can not run any code on the iframe's document.




回答3:


Unfortunately, not always. There is no single solution to seek a time in a Flash video if you don't know what the source of the video is.

If you ever encounter HTML5 video, you can try this: Start HTML5 video at a particular position when loading?




回答4:


That iframe will give you trouble, however in general you can do this without a library.

// get the video element
let video = document.getElementsByTagName('video')[0]
// jump it to a specific time
video.currentTime = 10 // the number of seconds you want it to be at


来源:https://stackoverflow.com/questions/8663962/is-there-a-way-to-seek-to-a-certain-time-in-a-video-using-javascript

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!