|
我尝试用jQuery控制HTML5视频,两个视频分别在两个tab中,我希望点中tab后,该tab里的视频可以立即播放,而另外tab里的视频能够停止。
我的代码是这样的:- $('#playMovie1').click(function(){
- $('#movie1').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="http://www.youtube.com/demo/google_main.mp4" controls autobuffer>
- <p> Try this page in Safari 4! Or you can
- <a href="http://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="http://www.youtube.com/demo/google_main.mp" autobuffer controls poster="whale.png">
- <p>Try this page in Safari 4! Or you can <a href="http://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)"><<</button>
- <button id="play" onclick="vidplay()">></button>
- <button id="fastFwd" onclick="skip(10)">>></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" ><<</button>
- <button id="play" title="Play button">></button>
- <button id="fwd" title="Forward button" >>></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="http://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>
复制代码
|
|