首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用jQuery停止(而不是暂停) html5视频

如何使用jQuery停止(而不是暂停) html5视频
EN

Stack Overflow用户
提问于 2018-08-30 08:46:21
回答 3查看 33.5K关注 0票数 11

我有一个使用html5视频标签的页面,它可以播放视频中的一小段视频(完整的视频不应该在这个页面上提供)。如果用户访问该页面并返回,当他们第二次访问时(几分钟内),视频不会播放。我想是因为我用jQuery在7秒后暂停了视频:

代码语言:javascript
复制
$('#playButton').click(function(event){
$('#theVideo').get(0).play()    
setTimeout(function(){$('#theVideo').get(0).pause() }, 7000);
});

我试着按照这个问题的未被接受的答案中的建议使用.stop()Make HTML5 video stop at indicated time

以下代码不起作用:

代码语言:javascript
复制
// doesn't work
setTimeout(function(){$('#theVideo').get(0).stop()  }, 7000);
// also doesn't work
setTimeout(function(){$('#theVideo').stop() }, 7000);

我参考了Mozilla的文档。我找到的关于jQuery和HTML5视频的唯一准官方文档来自w3schools:https://www.w3schools.com/tags/ref_av_dom.asp

它没有引用"stop“方法。我应该期待.stop()能够工作吗,或者我是否需要寻找另一个解决方案?

我的视频代码:

代码语言:javascript
复制
<video playsinline id='theVideo' poster=''>
<source src='http://somedomain/subfolder/playlist.m3u8'>
</video>
<div id="playButton">PLAY</div>

我很感谢你的帮助。

EN

回答 3

Stack Overflow用户

发布于 2018-08-30 08:58:58

您可以使用pause和currentTime来停止它。

代码语言:javascript
复制
var media = $("#video-id").get(0);
media.pause();
media.currentTime = 0;

看看这个:https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Client-side_web_APIs/Video_and_audio_APIs

票数 10
EN

Stack Overflow用户

发布于 2020-05-07 20:33:16

window.location.reload(false);是你的朋友吗?有了这个(我在https://levelup.gitconnected.com/data-stream-from-your-webcam-and-microphone-videochat-with-javascript-step-1-29895b70808b上找到的额外按钮),当我点击停止按钮时,相机旁边的灯就会熄灭,如果我点击开始,系统会再次提示我允许访问媒体设备。YMMV.

代码语言:javascript
复制
(function () {
  "use strict";

  document.addEventListener('click', async event => {
    if (event.target.id === 'start button') {
      const stream = await window.navigator.mediaDevices.getUserMedia({ video: true, audio: true });
      const video = document.getElementById('video');
      video.srcObject = stream;
      video.pause();
    }
    if (event.target.id === 'play button') {
      video.play();
    }
    if (event.target.id === 'pause button') {
      video.pause();
    }
    if (event.target.id === 'stop button') {
      window.location.reload(false);
    }
  });

})();
票数 0
EN

Stack Overflow用户

发布于 2021-01-08 23:11:36

将srcObject设置为null。

代码语言:javascript
复制
var video = document.getElementById('video');

if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
    
    navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {
        video.srcObject = null;
    });
} 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52087822

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档