HTML5自定义视频控件 [英] HTML5 custom video controls

查看:326
本文介绍了HTML5自定义视频控件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想要替换按钮点击播放视频。当我点击按钮没有发生什么发生..这是没有正常的控制,我只是测试此功能与一个标准按钮,但我没有得到任何回应。

I want the substitute button to play the video on click. When I click the button nothing happens.. this is without the normal controls and I'm just testing this feature with a standard button but I'm not getting any response.

var func = function(){
var video = document.getElementById('video');
var but = document.getElementById('play-pause');
but.addEventListener("click",function(){
    if (video.paused == true) {
        video.play();
    }else{
        video.pause();
    }
});
}
func();

html

  <div id="vid">
<video id="video" width="420" controls>
<source src="images/tutorialUPLOAD.mp4" type="video/mp4" />
<p> your browser does not support HTML5 video </p>
</video>



<div id="vidctrl">
<button type="button" id="play-pause">click here to start</button>
</div>
</div>


推荐答案

请尝试: - http://jsfiddle.net/adiioo7/zu6pK/light/



HTML: -

<video id="video" width="500" oncontextmenu="return false;">
    <source src="https://f9f9fce4f78470f7e248-0b04ae6868f3b76f0186ae4641e4c043.ssl.cf2.rackcdn.com/VidsToCloud.com-Upload-07-01-2013-104654117---What-is-HTML5--www.savevid.com-.mp4" type="video/mp4">Your browser does not support the video tag.</video>
<div id="Layer"></div>
<input type="range" id="seek-bar" value="0">
<div class="clear"></div>
<img src="http://cdn1.iconfinder.com/data/icons/minimal/22x22/status/audio-volume-high.png">
<input type="range" id="volume-bar" min="0" max="1" step="0.1" value="1">

JS: -

jQuery(function ($) {
    //For adding play pause layer on top on the player
    $("#Layer").css({
        position: "absolute",
        top: $("#video").offset().top,
        left: $("#video").offset().left,
        width: $("#video").outerWidth(),
        height: $("#video").outerHeight()
    });

    //Switching play/pause image on the player
    $("#Layer").on("click", function (e) {

        var myVideo = $("#video")[0];
        if (myVideo.paused) {
            myVideo.play();
            $(this).addClass("pause");
        } else {
            myVideo.pause();
            $(this).removeClass("pause");
        }
    });

    //Toggle behaviour for play/pause 
    $("#video").on("click", function (e) {
        var myVideo = $(this)[0];
        if (myVideo.paused) {
            myVideo.play();
        } else {
            myVideo.pause();
        }
    });

    //Showing/Hiding layer on top of the player
    $("#video").on("mouseenter", function (e) {
        $("#Layer").toggle();
    });

    //Volume bar to control video volume
    $("#volume-bar").on("change", function () {
        var myVideo = $("#video")[0];
        myVideo.volume = $(this).val();
    });

    //Seek bar to sync with the current playing video
    $("#video").on("timeupdate", function () {
        var myVideo = $(this)[0];
        var value = (100 / myVideo.duration) * myVideo.currentTime;
        $("#seek-bar").val(value);
    });

    //Seek bar drag to move the current playing video at the time.
    $("#seek-bar").on("mouseup", function () {
        var myVideo = $("#video")[0];

        var currentTime = $("#seek-bar").val() / (100 / myVideo.duration);
        myVideo.currentTime = currentTime;
    });

    $("#seek-bar").on("mousedown", function () {
        var myVideo = $("#video")[0];
        myVideo.pause();
    });

});

参考

这篇关于HTML5自定义视频控件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆