HTML5自定义视频控件

HTML5 custom video controls

本文关键字:控件 视频 自定义 HTML5      更新时间:2024-02-28

我希望替换按钮在点击时播放视频。当我点击按钮时,什么也没发生。。这没有正常的控制,我只是用一个标准按钮测试这个功能,但没有得到任何响应。

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();
    });
});

参考

试试这个代码Javascript

<script>
function playPause()
{       
    var myVideo=document.getElementById("template_35_vd_up"); 
            if (myVideo.paused) 
              {
                    myVideo.play();
              }
            else
            { 
              myVideo.pause();
            } 
} 
</script>

Html

<video width="650" height="440"  id="template_35_vd_up" controls="false" class="dragable"  style="position:absolute;top:30px;left:25px;" onclick="playPause()">
            <source src="upload_video/my_video.mp4" type="video/mp4">                           
            </source>
    </video>
                    <button onclick="playPause()" id='template35_playPouse'>Play/Pause</button>