当前位置: 首页 > news >正文

桂阳网站设计/最强大的搜索引擎

桂阳网站设计,最强大的搜索引擎,甘肃兰州疫情,濮阳做网站设计下面介绍一下通过jquery和css自定义video播放控件。Html5 Video是现在html5最流行的功能之一,得到了大多数最新版本的浏览器支持.包括IE9,也是如此.不同的浏览器提供了不同的原生态浏览器视频空间.我们制作自定义视频控件为了在所有的浏览器中有一个相同的Html5视频控件而不受默…

下面介绍一下通过jquery和css自定义video播放控件。

Html5 Video是现在html5最流行的功能之一,得到了大多数最新版本的浏览器支持.包括IE9,也是如此.不同的浏览器提供了不同的原生态浏览器视频空间.我们制作自定义视频控件为了在所有的浏览器中有一个相同的Html5视频控件而不受默认视频控件的控制.

b621ff1708f2bc9d5eb0374b389a205f.png

实际上,自定义视频控件并不困难.本文将告诉你如何用jQuery自定义视频控件,希望对你有用!

HTML5 Video 基础标签

sourcesrc="video.mp4"type="video/mp4" />

="video.webm"="video/webM" ="video.ogv"="video/ogg" p>Your browser does not support the video tag.>

video>

幸运的是HTML5 Video 的Api可以用JavaScript访问,并使用他们来作为控制视频的媒介.

在编码之前让我简单的介绍一下jQuery是如何获取video标签的.

在JavaScript中我们使用getElementById('videoID')来获取Video标签,作为结果,我们会获取到一个Dom对象.但是这不是等价的jQuery对象.$("videoID")会返回一个jQuery对象.不是Dom对象.这就是为什么在将其转换为Dom对象之前我们不能直接使用jQuery选择器调用/使用Html5 Video的Dom属性和功能.

//return a DOM object

var video = document.getElementById('videoID'); or

var video = $('#videoID').get(0); var video = $('#videoID')[0];return a jQuery object

var video = $('#videoID');

Video Play/Pause Controls 播放/暂停 按钮

好的,这是所有的介绍.现在让我们来编码.首先,我们要创建一个简单的播放/暂停按钮.

divclass="control"ahref="#"class="btnPlay">Play/Pauseadiv>

我们可以轻松的控制Html5 Video的播放与暂停状态.

Play/Pause control clicked

$('.btnPlay').on('click',function() {if(video[0].paused) {

video[0].play();

}else{

video[0].pause();

}return false;

};

显示视频播放时间和持续时间

Html5 Video支持视频回放.这里我们要显示视频的当前播放时间和总时间.

="progressTime">Current play time:span="current">

为了得到视频的总时间,我们要确保视频元数据已经加载.这个时候我们要用到Html5 Video的loadedMetadata事件.

对于当前的视频播放时间.我们可以用Html5 Video timeupdate事件来保证他的更新.

get HTML5 video time duration

video.on('loadedMetadata',1)">() {

$('.duration').text(video[0].duration);

});update HTML5 video current play time

video.on('timeupdate',1)">() {

$('.current').text(video[0].currentTime);

});

视频进度条

在这里我们将会把当前播放时间和总的时间长度转换为更人性化的进度条.

style>.progressBar{position:relative;width100%heightheight:10pxbackgroud-color#000;

}.timeBarabsolutetop0leftbackground-color#ccc}

="progressBar"="timeBar">

下面的js就是通过视频的总时间与当前时间的计算,获得播放进度条。

].duration));

});() {var currentPos = video[0].currentTime; Get currenttime

var maxduration = video[0].duration; Get video duration

var percentage = 100 * currentPos / maxduration; in %

$('.timeBar').css('width',percentage+'%');

});

下面实现播放进度条的拖拽,来播放视频

var timeDrag = false; /*Drag status*/$('.progressBar').mousedown((e) {

timeDrag= true;

updatebar(e.pageX);

});

$(document).mouseup((e) {if(timeDrag) {

timeDrag= ;

updatebar(e.pageX);

}

});

$(document).mousemove((timeDrag) {

updatebar(e.pageX);

}

});update Progress Bar control

var updatebar = (x) {var progress = $('.progressBar');Video duraiton

var position = x - progress.offset().left; Click pos

var percentage = 100 * position /progress.width();Check within range

if(percentage > 100) {

percentage= 100;

}if(percentage < 0) {

percentage= 0;

}Update progress bar and video currenttime

$('.timeBar').css('width',1)">);

video[0].currentTime = maxduration * percentage / 100;

};

进阶-显示缓冲栏

我们需要给视频制作一个缓冲栏让用户知道视频加载了多少.

.progressBarpositionwidthheightbackgroud-color.bufferBartopleftbackground-color>

="bufferBar">

Html5 Video缓冲属性将返回一个对象的缓存范围.因此,我们将使用缓存数据的最后一个值.

loop to get HTML5 video buffered data

var startBuffer = var maxduration = video[0].duration;var currentBuffer = video[0].buffered.end(0);var percentage = 100 * currentBuffer /maxduration;

$('.bufferBar').css('width',1)">);if(currentBuffer

setTimeout(startBuffer,500);

}

};

setTimeout(startBuffer,500);

音量控制

现在,我们要增加声音控制.有两种不同的音量控制方法.静音按钮/音量栏

="muted" >Mute/Unmute="volumeBar"="volume">

js:

Mute/Unmute control clicked

$('.muted').click(() {

video[0].muted = !video[0].muted;;

});Volume control clicked

$('.volumeBar').on('mousedown',1)">(e) {var position = e.pageX -volume.offset().left;volume.width();

$('.volumeBar').css('width',1)">);

video[0].volume = percentage / 100;

});

快进/快退 倒带控制

Html5 Video支持播放速度的改变.我们可以使用playbackrate属性来控制.

="ff">Fast Forward="rw">Rewind="sl">Slow Motion>

不幸的是FireFox不支持playbackrate属性.以及有些版本的chrome浏览器不支持负值(倒带).到目前为止,只有Safri浏览器完全支持.

/Fast forward control

$('.ff').on('click',1)">() {

video[0].playbackrate = 3;Rewind control

$('.rw').on('click',1)">() {

video[0].playbackrate = -3Slow motion control

$('.sl').on('click',1)">() {

video[0].playbackrate = 0.5;

});

其他

除了主要的控制插件.还可以做一些额外的控制.例如全屏播放

$('.fullscreen').on('click',1)">For Webkit

video[0].webkitEnterFullscreen();For Firefox

video[0].mozRequestFullScreen();;

});

开灯关灯控制

$('.btnLight').click(if($(this).hasClass('on')) {

$(this).removeClass('on');

$('body').append('

$('.overlay').css({'position':'absolute','width':100+'%':$(document).height(),'background':'#000''top':0'z-index':999});

$('#myVideo').css({'z-index':1000});

}{

$(this).addClass('on').remove();

};

});

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

如您喜欢交流学习经验,点击链接加入交流1群:1065694478(已满)交流2群:163560250

http://www.jmfq.cn/news/5303989.html

相关文章:

  • 网站建设设计 网络服务/长沙靠谱seo优化
  • 如何做网站价格策略/防止恶意点击软件管用吗
  • 电商型网站建设/谷歌优化seo
  • 网站开发前端好还是后端好/潮州seo
  • 免费建站平台哪个稳定/购物网站有哪些
  • 作为一个大学生网站 应该怎么做/百度号码认证平台取消标记
  • python 网站开发教程/海外营销推广
  • 做网站设计答辩问题/百度号码认证平台官网首页
  • 个人主页搭建/新乡seo公司
  • 珠海网络公司网站建设/镇江seo公司
  • 中山网站建设sipocms/品牌软文
  • 做网站推销手表/佛山做网络优化的公司
  • WordPress手动切换主题/优化推广seo
  • 做网站要学什么c语言/优化大师下载电脑版
  • 网站用户运营/壹起航网络推广的目标
  • 没有自己的境外网站怎么做谷歌推广/全媒体运营师报考官网在哪里
  • 佛山做网站的哪个好/网站查询地址
  • wordpress设置上传/台州网站优化公司
  • 凡科做网站怎么样/长尾关键词挖掘精灵官网
  • 为什么我的网站备案通过还是显示未备案/关键词排名霸屏代做
  • 网站做web服务器/网站优化资源
  • 免费使用个人网站/移动网站推广如何优化
  • 山东省住房建设部网站/百度关键词搜索引擎排名优化
  • 试用网站要怎么做/网络营销是做什么的
  • 微信官方网站是多少钱/seo营销推广平台
  • 河北做网站/创建软件平台该怎么做
  • 网络平台图片/seo排名啥意思
  • 怎么做区块链媒体网站/免费自建网站有哪些
  • 政府网站开发预算/网店代运营十大排名
  • 163网站建设/seo广告平台