如何使用jQuery播放/暂停HTML5视频
沉沙 2018-10-09 来源 : 阅读 1222 评论 0

摘要:本篇教程介绍了如何使用jQuery播放/暂停HTML5视频,希望阅读本篇文章以后大家有所收获,帮助大家对jQuery的理解更加深入。

本篇教程介绍了如何使用jQuery播放/暂停HTML5视频,希望阅读本篇文章以后大家有所收获,帮助大家对jQuery的理解更加深入。

<

jQuery不可以使用play()方法,但js是可以的:
document.getElementById(‘movie1‘).play();
 
解决方法:play并不是jQuery的函数,而是DOM元素的函数,所以我们需要通过DOM来调用play,代码如下:
$(‘#videoId‘).get(0).play();
 
最简单的方法实现Play和Pause:


$(‘video‘).trigger(‘play‘);
$(‘video‘).trigger(‘pause‘)






点击视频就能播放和暂停
$("video").trigger("play");//for auto play
$("video").addClass(‘pause‘);//for check pause or play add a class
$(‘video‘).click(function() {
  if ($(this).hasClass(‘pause‘)) {
    $("video").trigger("play");
    $(this).removeClass(‘pause‘);
    $(this).addClass(‘play‘);
  } else {
    $("video").trigger("pause");
    $(this).removeClass(‘play‘);
    $(this).addClass(‘pause‘);
  }
}) 
静音和取消静音
$(‘body‘).find("video").attr(‘id‘, ‘video‘)
var myVid = document.getElementById("video");
$(‘.sound-icon‘).click(function() {
  //here "sound-icon" is a anchor class.
  var sta = myVid.muted;
  if (sta == true) {
      myVid.muted = false;
  } else {
  myVid.muted = true;
  }
}) 
HTML 5中播放视频的方法:
<video width="640" height="360" src="//www.youtube.com/demo/google_main.mp4" controls autobuffer>
<p> Try this page in Safari 4! Or you can
<a href="//www.youtube.com/demo/google_main.mp4">download the video</a> instead.</p>
</video>
 
自动播放:
<video src="abc.mov" autoplay></video>
 
使用poster在视频无法加载时显示图片:
<video width="640" height="360" src="//www.youtube.com/demo/google_main.mp" autobuffer controls poster="whale.png">
<p>Try this page in Safari 4! Or you can <a href="//www.youtube.com/demo/google_main.mp4">download the video</a> instead.</p>
</video>
 
一个比较简洁的例子:


<script type="text/javascript">
  function vidplay() {
    var video = document.getElementById("Video1");
    var button = document.getElementById("play");
    if (video.paused) {
      video.play();
      button.textContent = "||";
    } else {
      video.pause();
      button.textContent = ">";
    }
  }
  function restart() {
    var video = document.getElementById("Video1");
    video.currentTime = 0;
  }
  function skip(value) {
    var video = document.getElementById("Video1");
    video.currentTime += value;
  }
</script>
</head>
<body>
<video id="Video1" >
// Replace these with your own video files.
  <source src="demo.mp4" type="video/mp4" />
  <source src="demo.ogv" type="video/ogg" />
  HTML5 Video is required for this example.
  <a href="demo.mp4">Download the video</a> file.
</video>
<div id="buttonbar">
<button id="restart" onclick="restart();">[]</button>
<button id="rew" onclick="skip(-10)">&lt;&lt;</button>
<button id="play" onclick="vidplay()">&gt;</button>
<button id="fastFwd" onclick="skip(10)">&gt;&gt;</button>
</div>








下面是一个比较完整的例子:

 

<html >
<head>
<title>Full player example</title>
<!-- Uncomment the following meta tag if you have issues rendering this page on an intranet or local site. -->
<!-- <meta http-equiv="X-UA-Compatible" content="IE=edge"/> -->
<script type="text/javascript">
  function init() { // Master function, encapsulates all functions
    var video = document.getElementById("Video1");
    if (video.canPlayType) { // tests that we have HTML5 video support
    // if successful, display buttons and set up events
      document.getElementById("buttonbar").style.display = "block";
      document.getElementById("inputField").style.display = "block";
      // helper functions
      // play video
      function vidplay(evt) {
        if (video.src == "") { // inital source load
        getVideo();
      }
      button = evt.target; // get the button id to swap the text based on the state
      if (video.paused) { // play the file, and display pause symbol
        video.play();
        button.textContent = "||";
      } else { // pause the file, and display play symbol
        video.pause();
        button.textContent = ">";
      }
    }
    // load video file from input field
    function getVideo() {
      var fileURL = document.getElementById("videoFile").value; // get input field
      if (fileURL != "") {
        video.src = fileURL;
        video.load(); // if HTML source element is used
        document.getElementById("play").click(); // start play
      } else {
        errMessage("Enter a valid video URL"); // fail silently
      }
    }
  
// button helper functions
// skip forward, backward, or restart
function setTime(tValue) {
// if no video is loaded, this throws an exception
try {
if (tValue == 0) {
video.currentTime = tValue;
}
else {
video.currentTime += tValue;
}
 
} catch (err) {
// errMessage(err) // show exception
errMessage("Video content might not be loaded");
}
}
// display an error message
function errMessage(msg) {
// displays an error message for 5 seconds then clears it
document.getElementById("errorMsg").textContent = msg;
setTimeout("document.getElementById(‘errorMsg‘).textContent=‘‘", 5000);
}
// change volume based on incoming value
function setVol(value) {
var vol = video.volume;
vol += value;
// test for range 0 - 1 to avoid exceptions
if (vol >= 0 && vol <= 1) {
// if valid value, use it
video.volume = vol;
} else {
// otherwise substitute a 0 or 1
video.volume = (vol < 0) ? 0 : 1;
}
}
// button events
// Play
document.getElementById("play").addEventListener("click", vidplay, false);
// Restart
document.getElementById("restart").addEventListener("click", function () {
setTime(0);
}, false);
// Skip backward 10 seconds
document.getElementById("rew").addEventListener("click", function () {
setTime(-10);
}, false);
// Skip forward 10 seconds
document.getElementById("fwd").addEventListener("click", function () {
setTime(10);
}, false);
// set src == latest video file URL
document.getElementById("loadVideo").addEventListener("click", getVideo, false);
// fail with message
video.addEventListener("error", function (err) {
errMessage(err);
}, true);
// volume buttons
document.getElementById("volDn").addEventListener("click", function () {
setVol(-.1); // down by 10%
}, false);
document.getElementById("volUp").addEventListener("click", function () {
setVol(.1); // up by 10%
}, false);
// playback speed buttons
document.getElementById("slower").addEventListener("click", function () {
video.playbackRate -= .25;
}, false);
document.getElementById("faster").addEventListener("click", function () {
video.playbackRate += .25;
}, false);
document.getElementById("normal").addEventListener("click", function () {
video.playbackRate = 1;
}, false);
document.getElementById("mute").addEventListener("click", function (evt) {
if (video.muted) {
video.muted = false;
evt.target.innerHTML = "<img alt=‘volume on button‘ src=‘vol2.png‘ />"
} else {
video.muted = true;
evt.target.innerHTML = "<img alt=‘volume off button‘ src=‘mute2.png‘ />"
}
}, false);
} // end of runtime
}// end of master
</script>
 
</head>
<body onload="init();" >
 
<video id="Video1" controls style="border: 1px solid blue;" height="240" width="320" title="video element">
HTML5 Video is required for this example
</video>
 
<div id="buttonbar" style="display: none;")>
<button id="restart" title="Restart button">[]</button>
<button id="slower" title="Slower playback button">-</button>
<button id="rew" title="Rewind button" >&lt;&lt;</button>
<button id="play" title="Play button">&gt;</button>
<button id="fwd" title="Forward button" >&gt;&gt;</button>
<button id="faster" title="Faster playback button">+</button>
<button id="Button2" title="Mute button" ><img alt="Volume on button" src="vol2.png" /></button>
<br />
<label>Playback </label>
<label>Reset playback rate: </label><button id="normal" title="Reset playback rate button">=</button>
 
<label> Volume </label>
<button id="volDn" title="Volume down button">-</button>
<button id="volUp" title="Volume up button">+</button>
<button id="mute" title="Mute button" ><img alt="Volume on button" src="vol2.png" /></button>
</div>
<br/>
<div id= "inputField" style="display:none;" >
<label>Type or paste a video URL: <br/>
<input type="text" id="videoFile" style="width: 300px;" title="video file input field" value="//ie.microsoft.com/testdrive/ieblog/2011/nov/pp4_blog_demo.mp4" /> 
<button id="loadVideo" title="Load video button" >Load</button>
</label>
</div>
<div title="Error message area" id="errorMsg" style="color:Red;"></div>
</body>
</html>
 
   

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标WEB前端jQuery频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程