欢迎光临一流素材网,免积分免费素材下载!
AD
当前位置:首页 > JS代码 > 媒体播放

HTML5,CSS3,jQuery自制video播放器

所属栏目:媒体播放更新时间:2016-08-20原作者:不详发布者:deepdfhy浏览:0
基本信息
  • 发布者:
  • 原作者:不详
  • 来源:不详
  • 版权声明


使用步骤

不用object或者embed标签插入就能完成video的播放,那要感谢html5和css3的强大功能了,详细了解:

http://webdesign.tutsplus.com/tutorials/site-elements/skin-orman-clarks-video-interface-using-jplayer-and-css

现在我们就step by step的详细指导吧,大家千万不要嫌长哦,不敢兴趣的地方可以直接略过,主要是为了保持文章的完整性O(∩_∩)O:


step1:HTML5 标记

<!--Meta tags-->
<!--Title-->
<!--Stylesheets-->
<!--jQuery-->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->

Step 2: 下载 jPlayer插件

插件地址: jplayer.org

然后在head里面引用,当然是基于Jquery的插件


Step 3: Player 标记

html如下:

<!--container for everything-->
<div id="jp_container1" class="jp-video jp-video-360p">
    <!--container in which our video will be played-->
    <div id="jquery_jplayer1" class="jp-jplayer"></div>
    <!--main containers for our controls-->
    <div class="jp-gui">
        <div class="jp-interface">
            <div class="jp-controls-holder">
            </div><!--end jp-controls-holder-->
        </div><!--end jp-interface-->
    </div><!--end jp-gui-->
    <!--unsupported message-->
    <div class="jp-no-solution">
        <span>Update Required</span>
        Here's a message which will appear if the video isn't supported. A Flash alternative can be used here if you fancy it.
    </div>
</div><!--end jp_container_1-->

Update Required Here’s a message which will appear if the video isn’t supported. A Flash alternative can be used here if you fancy it.


Step 4: Controls 标记

html如下:

<!--play and pause buttons-->
<a class="jp-play" tabindex="1" href="javascript:;">play</a>
<a class="jp-pause" tabindex="1" href="javascript:;">pause</a>
<!--progress bar-->
<span class="time-sep">;/</span>
<!--mute / unmute toggle-->
<a class="jp-mute" title="mute" tabindex="2" href="javascript:;">mute</a>
<a class="jp-unmute" title="unmute" tabindex="2" href="javascript:;">unmute</a>
<!--volume bar-->
<!--full screen toggle-->
<a class="jp-full-screen" title="full screen" tabindex="3" href="javascript:;">full screen</a>
<a class="jp-restore-screen" title="restore screen" tabindex="3" href="javascript:;">restore screen</a>

主要包含:

播放,停止按钮

进度条

时间提醒

静音切换

卷栏

全屏切换

Step 5: 添加视频

jPlayer插件目前支持以下视频格式:

mp3

mp4 (AAC/H.264)

ogg (Vorbis/Theora)

webm (Vorbis/VP8)

wav

使用代码如下:

<!--instantiate--><script type="text/javascript">// <![CDATA[$(document).ready(function(){
 
    $("#jquery_jplayer1").jPlayer({
        ready: function () {
            $(this).jPlayer("setMedia", {
                m4v: "mi4.m4v",
                ogv: "mi4.ogv",
                webmv: "mi4.webm",
                poster: "mi4.png"            });
        },
        swfPath: "js",
        supplied: "webmv, ogv, m4v",
        size: {
            width: "570px",
            height: "340px",
            cssClass: "jp-video-360p"        }
    });
 
});// ]]></script>

更多使用方法见:jplayer.org


Step 6: Video 基本样式

css代码如下:

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,and,address,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video,input,textarea,select{background:transparent;border:0;font-size:100%;margin:0;outline:0;padding:0;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}del{text-decoration:line-through}hr{background:transparent;border:0;clear:both;color:transparent;height:1px;margin:0;padding:0}mark{background-color:#ffffb3;font-style:italic}input,select{vertical-align:middle}ins{background-color:red;color:white;text-decoration:none}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}a{text-decoration:none;}
 
body {
    margin:0;
    padding:0;
    background:url("bg.jpg") repeat;
}
 .jp-video {
    font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
    position:relative;
 
    -webkit-box-shadow:0px 0px 20px rgba(0,0,0,.3);
    -moz-box-shadow:0px 0px 20px rgba(0,0,0,.3);
    box-shadow:0px 0px 20px rgba(0,0,0,.3);
}.jp-video-360p {
    width:570px;
    margin: 100px auto;
}.jp-video-full {
    width:480px;
    height:270px;
    position:static !important;
    position:relative
}.jp-video-full .jp-jplayer {
    top: 0;
    left: 0;
    position: fixed !important; position: relative; __regexoperators___/* Rules for IE6 (full-screen) */    overflow: hidden;
    z-index:1000;
}
 .jp-video-full .jp-gui {
    position: fixed !important; position: static; __regexoperators___/* Rules for IE6 (full-screen) */    top: 0;
    left: 0;
    width:100%;
    height:100%;
    z-index:1000;
}.jp-video-full .jp-interface {
    position: absolute !important; position: relative; __regexoperators___/* Rules for IE6 (full-screen) */    bottom: 0;
    left: 0;
    z-index:1000;
}

Step 7:基本控制样式

css样式如下:.jp-interface {
    position: relative;
    width:100%;
    height: 35px;
 
    background-image: -webkit-linear-gradient(top, rgb(242, 242, 242), rgb(209, 209, 209));
    background-image: -moz-linear-gradient(top, rgb(242, 242, 242), rgb(209, 209, 209));
    background-image: -o-linear-gradient(top, rgb(242, 242, 242), rgb(209, 209, 209));
    background-image: -ms-linear-gradient(top, rgb(242, 242, 242), rgb(209, 209, 209));
    background-image: linear-gradient(top, rgb(242, 242, 242), rgb(209, 209, 209));
    filter: progid:DXImageTransform.Microsoft.gradient(GradientType=0,StartColorStr='#f2f2f2', EndColorStr='#d1d1d1');
 
    -webkit-box-shadow:
        inset 0px 1px 0px #f7f7f7,
        inset 0px -1px 0px #e2e2e2;
    -moz-box-shadow:
        inset 0px 1px 0px #f7f7f7,
        inset 0px -1px 0px #e2e2e2;
    box-shadow:
        inset 0px 1px 0px #f7f7f7,
        inset 0px -1px 0px #e2e2e2;
}
 
div.jp-controls-holder {
    clear: both;
    width:570px;
    margin: 0 auto;
 
    position: relative;
    overflow:hidden;
}

Step 8: 停止播放按钮

css样式如下:

a.jp-play,
a.jp-pause {
    width:40px;
    height:35px;
    float:left;
    text-indent:-9999px;
    outline:none;
}
 
a.jp-play {
    background: url("sprite.png") 0 0 no-repeat;
}
 
a.jp-pause {
    background: url("sprite.png") -40px 0 no-repeat;
    display: none;
}
 .separator {
    background-image:url("separator.png");
    background-repeat:no-repeat;
    width: 2px;
    height: 35px;
    float:left;
    margin-top: 7px;
    margin-right: 10px;
}

Step 9: 进度条样式

css样式如下:

.jp-progress {
    background: #706d6d;
 
    -webkit-border-radius:5px;
    -moz-border-radius:5px;
    border-radius:5px;
 
    -webkit-box-shadow:
        inset 0px 1px 4px rgba(0,0,0,.4),
        0px 1px 0px rgba(255,255,255,.4);
    -moz-box-shadow:
        inset 0px 1px 4px rgba(0,0,0,.4),
        0px 1px 0px rgba(255,255,255,.4);
    box-shadow:
        inset 0px 1px 4px rgba(0,0,0,.4),
        0px 1px 0px rgba(255,255,255,.4);
 
    width:280px;
    height:10px;
    float:left;
    margin-top: 13px;
}
 .jp-seek-bar {
    width:0px;
    height:100%;
    cursor: pointer;
}
 .jp-seeking-bg {
    background:#575555;
    -webkit-border-radius:5px;
    -moz-border-radius:5px;
    border-radius:5px;
}
 .jp-play-bar {
    background: url("play-bar.png") left repeat-x;
    width:0px;
    height:10px;
    position:relative;
    z-index: 9999;
 
    -webkit-border-radius:5px;
    -moz-border-radius:5px;
    border-radius:5px;
}
 .jp-play-bar span {
    position:absolute;
    top: -3px;
    right: -12px;
 
    background:url("handle.png") no-repeat center;
    width: 16px;
    height: 17px;
}

Step 10:当前时间 / 持续时间的css样式

css样式如下:

.jp-current-time,.jp-duration {
    font-size:11px;
    font-family:Arial;
    color:#444444;
    margin-top: 12px;
    float:left;
}.jp-current-time {
    float: left;
    display:inline;
}.jp-duration {
    float: left;
    display:inline;
    text-align: right;
}.jp-video .jp-current-time {
    margin-left:10px;
}.jp-video .jp-duration {
    margin-right:10px;
}.time-sep {
    float:left;
    margin: 13px 3px 0 3px;
 
    font-size:11px;
    font-family:Arial;
    color:#444444;
}

第 11 步: 卷按钮和栏

.jp-video a.jp-mute,.jp-video a.jp-unmute {
    text-indent:-9999px;
    float:left;
 
    height: 35px;
    outline:none;
}
 .jp-mute {
    float:left;
    background: url(../images/sprite.png) -80px 0 no-repeat;
    margin-top: 1px;
    margin-left: -10px;
    width: 35px;
}
 
a.jp-unmute {
    background: url(../images/sprite.png) -115px 0 no-repeat;
    margin-top: 1px;
    margin-left: -13px;
    display: none;
    width: 38px;
}
 .jp-volume-bar {
    float:left;
    margin-top: 13px;
    margin-right: 10px;
    overflow:hidden;
    width:70px;
    height:10px;
    cursor: pointer;
 
    background: #706d6d;
 
    -webkit-border-radius:5px;
    -moz-border-radius:5px;
    border-radius:5px;
 
    -webkit-box-shadow:
        inset 0px 1px 4px rgba(0,0,0,.4),
        0px 1px 0px rgba(255,255,255,.4);
    -moz-box-shadow:
        inset 0px 1px 4px rgba(0,0,0,.4),
        0px 1px 0px rgba(255,255,255,.4);
    box-shadow:
        inset 0px 1px 4px rgba(0,0,0,.4),
        0px 1px 0px rgba(255,255,255,.4);
}
 .jp-volume-bar-value {
    background: transparent;
    width:0px;
    height:10px;
    position: relative;
}
 .jp-volume-bar-value span {
    position:absolute;
    top: 0px;
    right: 0px;
 
    background:url(../images/volume.png) no-repeat center;
    width: 11px;
    height: 10px;
}

第 12 步: 全屏按钮

CSS样式如下:

.jp-full-screen {
    background: url(../images/sprite.png) -150px 0 no-repeat;
    float:left;
    width: 40px;
    height: 35px;
    text-indent:-9999px;
    margin-left: -15px;
    outline:none;
}
 .jp-restore-screen {
    background: url(../images/sprite.png) -150px 0 no-repeat;
    float:left;
    width: 40px;
    height: 35px;
    text-indent:-9999px;
    margin-left: -15px;
    outline:none;
}

到这里我们的 video player就完成了,是不是代码很多,看得头大,其实不用那么紧张,我们只需要看关键地方就行了,比如说,了解那个player是如何使用的,还有具体的界面也有对应的CSS注释,关键是这些代码可以单独提取出来复用,仅供给大家自制播放器的时候提供一个参考,感谢伟大的coder的默默无闻奉献






具体效果请看演示,一流资源网推荐下载。

标签:
代码下载
本站下载
收藏 0 有帮助 0 没帮助 0
请站长喝杯咖啡?

站长一直坚持白天工作、晚上熬夜更新素材,付出了巨大的精力和时间,其中的辛酸难以言述。

如果本站素材对你有用,不妨考虑请站长喝杯咖啡鼓励一下!

立即打赏 0
给个评价吧
最受欢迎的

1网页实用最简单的flash mp3播放器代码-多样式

2jquery点击缩略图切换视频播放选项卡代码

3jQuery网页跨平台媒体播放器

4基于html5的视频播放器不依赖任何插件

5扁平html5音乐播放器代码

6程序员表白神器

7Html5实现的3D音乐频谱

8HTML5,CSS3,jQuery自制video播放器

9jQuery仿微信公众号的语音框插件-weixinAudio.js

10焦点图风格动态Flash视频播放器代码

最新更新的

1多视频无刷新切换播放JS代码

2jQuery仿微信公众号的语音框插件-weixinAudio.js

3基于html5的视频播放器不依赖任何插件

5jQuery歌词同步MP3播放器代码

6jQuery流媒体音乐播放器特效

7影院座位角度预览

8jQuery视屏画廊插件blueimp Gallery

9视频播放插件Video.js

10蓝水晶音乐播放器