GVKun编程网logo

使用JQuery播放/暂停HTML 5视频

17

在本文中,我们将带你了解使用JQuery播放/暂停HTML5视频在这篇文章中,同时我们还将给您一些技巧,以帮助您实现更有效的html5–无法使用Jquery绑定视频事件、html5–点击HTML5视频

在本文中,我们将带你了解使用JQuery播放/暂停HTML 5视频在这篇文章中,同时我们还将给您一些技巧,以帮助您实现更有效的html5 – 无法使用Jquery绑定视频事件、html5 – 点击HTML 5视频元素播放,暂停视频,中断播放按钮、html5-video – Slick.js和html5视频自动播放和视频暂停、HTML5视频无法在iPad上使用jquery bxSlider插件

本文目录一览:

使用JQuery播放/暂停HTML 5视频

使用JQuery播放/暂停HTML 5视频

我正在尝试使用JQuery控制HTML5视频。我在选项卡式界面中有两个剪辑,总共有六个选项卡,其他只是图像。我试图使视频剪辑在单击选项卡时播放,然后在单击其他任何一个时停止播放。

这一定是一件简单的事情,但是我似乎无法正常工作,我用来播放视频的代码是:

$(''#playMovie1'').click(function(){  $(''#movie1'').play();      });

我已经读过,视频元素需要在函数中公开才能控制它,但找不到示例。我可以使用JS使其工作:

document.getElementById(''movie1'').play();

任何建议都很好。谢谢

答案1

小编典典

您的解决方案在这里显示了问题-
play不是jQuery函数,而是DOM元素的函数。因此,您需要在DOM元素上调用它。您将举例说明如何使用本机DOM函数执行此操作。相当于jQuery的-
如果您想做到与现有的jQuery选择相适应-
将会是$(''#videoId'').get(0).play()。(get从jQuery选择中获取本机DOM元素。)

html5 – 无法使用Jquery绑定视频事件

html5 – 无法使用Jquery绑定视频事件

我正在使用视频标签并使用bind或live绑定它.在这两种情况下它都不起作用.Below是我的代码可能是我做错了什么并且无法捕获它.
<video width="videoWidth"
            height="videoHeight"
            poster="../Poster/poster.png"
            id="videoId"
            controls="controls"
            muted="true"    
            seeking="true"
            paused="true"   >

            <source src="../video/trailer.mp4" type="video/mp4"/>               
            <source src="../video/trailer.ogv" type="video/ogv"/>
            <source src="../video/trailer.webm" type="video/webm"/>
                Your browser does not support the video tag.
            </video>

这是用于绑定事件的JS文件包含.

$("#videoId").bind('ended',function() {
            alert("Entered");
        });

UPDATE

我正在更新以前的JS,现在它正在为所有视频事件工作.现在我坚持错误事件,事件将基于事件代码触发.可能我写错了,但是错误事件不能正常工作.我是JS

$(document).ready(function(){
        $("#videoId").bind('play',function() {
            alert("Play");
        });

        $("#videoId").bind('canplay',function() {
            alert("Can Play");
        });

        $("#videoId").bind('empited',function() {
            alert("Empited");
        });

        $("#videoId").bind('ended',function() {
            alert("Ended");
        });

        $("#videoId").bind('loadstart',function() {
            alert("Load Start");
        });

        $("#videoId").bind('pause',function() {
            alert("Pause");
        });

        $("#videoId").bind('playing',function() {
            alert("Playing");
        });

        $("#videoId").bind('progress',function() {
            alert("Progress");
        });

        $("#videoId").bind('suspend',function() {
            alert("Suspend");
        });

        $("#videoId").bind('volumechange',function() {
            alert("Volume");
        });

        $("#videoId").bind('waiting',function() {
            alert("waiting");
        });
        $("#videoId").bind('error',function(e,ui) {
            switch (e.target.error.code) {
             case e.target.error.MEDIA_ERR_ABORTED:
               alert('You aborted the video playback.');
               break;
             case e.target.error.MEDIA_ERR_NETWORK:
               alert('A network error caused the video download to fail part-way.');
               break;
             case e.target.error.MEDIA_ERR_DECODE:
               alert('The video playback was aborted due to a corruption problem or because the video used features your browser did not support.');
               break;
             case e.target.error.MEDIA_ERR_SRC_NOT_SUPPORTED:
               alert('The video Could not be loaded,either because the server or network Failed or because the format is not supported.');
               break;
             default:
               alert('An unkNown error occurred.');
               break;
           }
            //alert("Error Code : "+event.target.error.code);
        });

        });

在控制台我得到’获取’.

解决方法

这将警告视频元素上的错误对象中的所有对象
$("video").on("error",function(err) {
    for (var i in err.currentTarget.error) {
        alert(i + ": " + err.currentTarget.error[i]);
    }
});

html5 – 点击HTML 5视频元素播放,暂停视频,中断播放按钮

html5 – 点击HTML 5视频元素播放,暂停视频,中断播放按钮

我想让视频能够像YouTube一样播放和暂停(使用播放和暂停按钮,然后点击视频本身)。
<video width="600" height="409" id="videoPlayer" controls="controls">
 <!-- MP4 Video -->
 <source src="video.mp4" type="video/mp4">
</video>


<script>
    var videoPlayer = document.getElementById('videoPlayer');

    // Auto play,half volume.
    videoPlayer.play()
    videoPlayer.volume = 0.5;

    // Play / pause.
    videoPlayer.addEventListener('click',function () {
        if (videoPlayer.paused == false) {
            videoPlayer.pause();
            videoPlayer.firstChild.nodeValue = 'Play';
        } else {
            videoPlayer.play();
            videoPlayer.firstChild.nodeValue = 'Pause';
        }
    });
</script>

你有什么想法为什么会打破播放和暂停控制按钮?

解决方法

不要提起一个旧帖子,但是我在寻找同样的解决方案的时候降落在这个问题上。我最终想出了我自己的东西。想我会贡献

HTML:

<video><source src=""></video>

JAVASCRIPT:“JQUERY”

$('.video').click(function(){this.paused?this.play():this.pause();});

html5-video – Slick.js和html5视频自动播放和视频暂停

html5-video – Slick.js和html5视频自动播放和视频暂停

是否可以将slick.js与html5自托管视频一起使用,在没有用户交互的情况下播放和暂停视频?

我目前有以下代码,有一个带有垂直光滑幻灯片的双滑块和一个主要部分,大图像和视频将出现并自动滚动.这将在电视上托管,因此不会有用户互动.

WelcomeTV Screen Site

如何在幻灯片播放完成后将幻灯片完全播放,播放完毕后,继续播放幻灯片并无限期重复播放.视频可能包含各种长度,因此需要动态检测长度.

我尝试在this question上实现代码但是我无法让我的示例正常工作.

<div id="slideBox">
    <!--Sidebar-->
    <div>
        <div><img src="http://placehold.it/200x100"></div>
        <div><img src="http://placehold.it/200x100"></div>
        <div><img src="http://placehold.it/200x100"></div>
        <div><img src="http://placehold.it/200x100"></div>
        <div><img src="http://placehold.it/200x100"></div>
        <div><img src="http://placehold.it/200x100/C8102E/FFFFFFF?text=Video" /></div>
    </div>  

    <div id="main-image">
        <div><img src="http://placehold.it/900x500"></div>
        <div><img src="http://placehold.it/900x500"></div>
        <div><img src="http://placehold.it/900x500"></div>
        <div><img src="http://placehold.it/900x500"></div>
        <div><img src="http://placehold.it/900x500"></div>
        <div id="slide-video">
            <video autoplay loop width="900px">
                <source src="video/SampleVideo.mp4" />
            </video>
        </div>
    </div>

    <script type="text/javascript">

    $(document).ready(function(){
        $('.sliderMain').slick({
            slidesToShow: 1,slidesToScroll: 1,arrows: false,fade: true,asNavFor: '.sliderSidebar',autoplay: true,autoplaySpeed: 3000,onAfterChange : function() {
                player.stopVideo();
            }
        });
        $('.sliderSidebar').slick({
            slidesToShow: 5,asNavFor: '.sliderMain',dots: false,centerMode: false,focusOnSelect: true,vertical: true,arrows: false
        });
        var video = $('.sliderMain .slick-active').find('video').get(0).play();

        $('.sliderMain').on('afterChange',function(event,slick,currentSlide,nextSlide){
        $('.sliderMain .slick-slide').find('video').get(0).pause();
        var video = $('.sliderMain .slick-active').find('video').get(0).play();
        });
    });
</script>

Demo

解决方法

是的,可以使用JavaScript完成.
当视频幻灯片成为currentSlide时,您需要:

>暂停滑块
>播放视频

您可以使用slick.js事件在更改后执行此操作:

$('.sliderMain').on('afterChange',currentSlide){
  if (currentSlide == 5) {
    $('.sliderMain').slick('slickPause');
    myVideo.play();
  }
});

您还需要为视频结束添加事件侦听器,以便命令滑块继续.你可以这样做:

document.getElementById('myVideo').addEventListener('ended',myHandler,false);
function myHandler(e) {
    $('.sliderMain').slick('slickPlay');
}

如果您遇到此问题,请添加一个JSfiddle,我会尽力帮助您.

编辑:这是一个工作JSFiddle

$(document).ready(function() {
  $('.sliderMain').slick({
    slidesToShow: 1,autoplaySpeed: 3000
  });
  $('.sliderSidebar').slick({
    slidesToShow: 5,arrows: false
  });
  $('.sliderMain').on('afterChange',currentSlide) {
    if (currentSlide == 5) {
      $('.sliderMain').slick('slickPause');
      theVideo.play();
    }
  });

  document.getElementById('theVideo').addEventListener('ended',false);

  function myHandler(e) {
    $('.sliderMain').slick('slickPlay');
  }
});
#slideBox {
  width: 1300px;
  max-height: 500px;
  overflow: hidden;
  margin: 1% auto;
  position: relative;
  top: 1em;
  background-color: #54585A;
  border-radius: .3em;
}
video {
  background-color: black;
}
#slideBox .slick-vertical .slick-slide {
  border: none;
}
.sliderSidebar {
  width: 200px;
  height: 500px;
  float: left;
}
#slideBox .slick-vertical .slick-slide {
  border: none;
}
.sliderMain {
  width: 900px;
  height: 500px;
  position: relative;
  float: left;
}
<div id="slideBox">
  <!--Sidebar-->
  <div>
    <div><img src="http://placehold.it/200x100"></div>
    <div><img src="http://placehold.it/200x100"></div>
    <div><img src="http://placehold.it/200x100"></div>
    <div><img src="http://placehold.it/200x100"></div>
    <div><img src="http://placehold.it/200x100"></div>
    <div><img src="http://placehold.it/200x100/C8102E/FFFFFFF?text=Video" /></div>
  </div>

  <div id="main-image">
    <div><img src="http://placehold.it/900x500"></div>
    <div><img src="http://placehold.it/900x500"></div>
    <div><img src="http://placehold.it/900x500"></div>
    <div><img src="http://placehold.it/900x500"></div>
    <div><img src="http://placehold.it/900x500"></div>
    <div id="slide-video">
      <video width="900px" id="theVideo">
        <source src="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4" />
      </video>
    </div>
  </div>
</div>

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.7.1/slick.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.7.1/slick-theme.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/slick-carousel/1.7.1/slick.min.js"></script>

HTML5视频无法在iPad上使用jquery bxSlider插件

HTML5视频无法在iPad上使用jquery bxSlider插件

我正在使用Jquery bxSlider插件为iPad创建图片和视频的滑块。我正在使用HTML5视频标签进行视频实施:
<video width="400" height="260" controls>
<source src="http://video-js.zencoder.com/oceans-clip.mp4" type='video/mp4; codecs="avc1.42E01E,mp4a.40.2"' />
</video>

视频源代码在iPad上工作正常,但是当与滑块标记合并时,视频不播放。

测试链接:http://www.ekimmedia.com/totem/TIC/MG/

如果我删除这个脚本:

<script src="js/jquery.bxSlider.js" type="text/javascript"></script>

从源代码,视频然后在iPad上工作。

测试链接与bxSlider脚本删除:http://www.ekimmedia.com/totem/TIC/MG/index10.html

不确定是什么导致冲突。

谢谢,

解决方法

我得到这个滑块工作的唯一方法是从bxslider官方网站下载它。并尝试跟随他们的 tutorial如何使响应视频滑块。他们没有提到这些箭头图像的任何地方,因为他们没有进入css。所以,请记住从下载的bxslider zip抓取一个图像文件夹,并将其粘贴到项目的js文件夹中。

在我的最终设置中,我在js文件夹中有4个本地文件:jquery-2.2.2.min.js,jquery.bxslider.css,jquery.bxslider.js和jquery.fitvids.js。 js文件夹还包括images.png和bx_loader.gif的图像子文件夹。

这一切都在HTML文件中被引用如下:

<head>
  <link rel="stylesheet" href="js/jquery.bxslider.css">
  <script src="js/jquery-2.2.2.min.js"></script>
  <script src="js/jquery.fitvids.js"></script>
  <script src="js/jquery.bxslider.js"></script>
  <script type="text/javascript">
  $(document).ready(function () {
    $('.bxslider').bxSlider({
      video: true,useCSS: false
    });
  });
  </script>
</head>
<body>
    <ul>
        <li>
            <iframe src="YOUR_LINK_TO_VIDEO" width="400" height="260" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
        </li>
        <li>
            <iframe src="YOUR_LINK_TO_VIDEO" width="400" height="260" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>
        </li>
    </ul>
</body>

我已经在iOS设备上测试了我的解决方案,一切似乎都可以正常工作。这个问题有一些类似的solution,你也可以看看。

我们今天的关于使用JQuery播放/暂停HTML 5视频的分享就到这里,谢谢您的阅读,如果想了解更多关于html5 – 无法使用Jquery绑定视频事件、html5 – 点击HTML 5视频元素播放,暂停视频,中断播放按钮、html5-video – Slick.js和html5视频自动播放和视频暂停、HTML5视频无法在iPad上使用jquery bxSlider插件的相关信息,可以在本站进行搜索。

本文标签: