H5新属性audio音频和video视频的控制详解(推荐)


Posted in HTML / CSS onDecember 09, 2016

本文讲诉了H5新属性audio音频和video视频的控制,具体如下:

 1.音频(audio)

<audio controls="controls">
<source src="这里面放入音频文件路径"></source>
</audio>

2.视频(video)

<video controls="controls" loop="loop" autoplay="autoplay" id="video">
<source src="这里面放入视频文件路径"></source>
</video>
<button>静音</button>
 <button>打开声音</button>
 <button>播放</button>
 <button>停止播放</button>
 <button>全屏</button>

下面是对于视频文件的控制;

javascript引出。

<script>
var myVideo=document.getElementById("video");
var btn=document.getElementById("button");
btn[0].click=function(){
    myVideo.muted=true;(是否静音:是)
}
btn[1].click=function(){
    myVideo.muted=true;(是否静音:否)
}
btn[2].click=function(){
    myVideo.play();(播放)
}
btn[3].click=function(){
    myVideo.pause();(停止播放)
} 
btn[4].click=function(){
    myVideo.webkitrequestFullscreen();(全屏显示)
}  
</script>

3.如何设置进度条和视频的播放时长

同步进行。

如图所示:

H5新属性audio音频和video视频的控制详解(推荐)

这里说一下,首先

(1)、需要获取视频的总时长(duration)赋值给进度条的最大值,progress.max=video.duration;

(2)、需要获取当前视频播放的当前时间位置(currentTime)赋值给当前进度条的长度,progress.value=video.currentTime;

然后在视频播放的同时,要保证进度条的值能够及时获取到视频的时长和当前播放时间位置。

需要开一个定时器setInterval(pro,100);:就是说在1毫秒获取一次视频的数值赋值给progress进度条,这样就能保证及时性。

这样进度条就能和视频的准确的同步了。

4.如何用表单元素 range属性控制视频的音量大小。

1、首先需要获取到range的value值,赋给视频的音量上去,才能控制视频的音量大小,

<input type="range" min="0" value="50" max="100" id="range" />
var ran=document.getElementById("range");

获取range.value,

赋值给video的音频属性:video.volume=range.value/100;

这时候就能实现简单拖动range而控制视频的音量了。

然后还需要进去前面的声音关闭判断,两则是独立的事件,所以,需要在拖动事件中进行判断是否是静音muted,然后在进行muted设置为false。

H5新属性audio音频和video视频的控制详解(推荐)

最终实现的代码如下; 

<!DOCTYPE html> 
<html> 
<body> 
<video id="video1" controls="controls" width="400px" height="400px">
<source src="img/1.mp4">
</video>

<div>
<button onclick="enableMute()" type="button">关闭声音</button>
<button onclick="disableMute()" type="button">打开声音</button>
<button onclick="playVid()" type="button">播放视频</button>
<button onclick="pauseVid()" type="button">暂停视频</button>
<button onclick="showFull()" type="button">全屏</button><br />
<span>进度条:</span>
<progress value="0" max="0" id="pro"></progress>
<span>音量:</span>
<input type="range" min="0" max="100" value="50" onchange="setvalue()" id="ran"/>
</div>

<script>
var btn=document.getElementsByTagName("button");
var myvideo=document.getElementById("video1");
var pro=document.getElementById("pro");
var ran=document.getElementById("ran");

//关闭声音
function enableMute(){
myvideo.muted=true;
btn[0].disabled=true;
btn[1].disabled=false;
}

//打开声音
function disableMute(){
myvideo.muted=false;
btn[0].disabled=false;
btn[1].disabled=true;
}

//播放视频
function playVid(){
myvideo.play();
setInterval(pro1,1000);
}
//暂停视频
function pauseVid(){
myvideo.pause();
}
//全屏
function showFull(){
myvideo.webkitrequestFullscreen();
}
//进度条展示
function pro1(){
pro.max=myvideo.duration;
pro.value=myvideo.currentTime;
}

//拖动range进行调音量大小
function setvalue(){
myvideo.volume=ran.value/100;
myvideo.muted=false;
}

 </script>

</body> 
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

HTML / CSS 相关文章推荐
CSS3 3D旋转rotate效果实例介绍
May 03 HTML / CSS
CSS超出文本指定宽度用省略号代替和文本不换行
May 05 HTML / CSS
CSS3 函数技巧 用css 实现js实现的事情(clac Counters Tooltip)
Aug 15 HTML / CSS
简单聊聊H5的pushState与replaceState的用法
Apr 03 HTML / CSS
html5 兼容IE6结构的实现代码
May 14 HTML / CSS
基于HTML5超酷摄像头(HTML5 webcam)拍照功能实现代码
Dec 13 HTML / CSS
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
Jun 23 HTML / CSS
html5使用canvas绘制文字特效
Dec 15 HTML / CSS
深入解析HTML5的IndexedDB索引数据库
Sep 14 HTML / CSS
HTML5轻松实现全屏视频背景的示例
Apr 23 HTML / CSS
Html5调用手机摄像头并实现人脸识别的实现
Dec 21 HTML / CSS
amaze ui 的使用详细教程
Aug 19 HTML / CSS
Html5 Geolocation获取地理位置信息实例
Dec 09 #HTML / CSS
详解移动端html5页面长按实现高亮全选文本内容的兼容解决方案
Dec 03 #HTML / CSS
HTML5标签大全
Nov 23 #HTML / CSS
HTML5拖放效果的实现代码
Nov 17 #HTML / CSS
html5 div布局与table布局详解
Nov 16 #HTML / CSS
纯HTML5+CSS3制作生日蛋糕(代码易懂)
Nov 16 #HTML / CSS
HTML5制作表格样式
Nov 15 #HTML / CSS
You might like
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
PHP移动文件指针ftell()、fseek()、rewind()函数总结
2014/11/18 PHP
php rmdir使用递归函数删除非空目录实例详解
2016/10/20 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
简明json介绍
2008/09/28 Javascript
基于jquery的图片轮播 tab切换组件
2012/07/19 Javascript
如何用javascript计算文本框还能输入多少个字符
2015/07/29 Javascript
Bootstrap每天必学之进度条
2015/11/30 Javascript
jQuery实现div拖拽效果实例分析
2016/02/20 Javascript
JavaScript实战之带收放动画效果的导航菜单
2016/08/16 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
javascript 单例模式详解及简单实例
2017/02/14 Javascript
JavaScript使用FileReader实现图片上传预览效果
2020/03/27 Javascript
无限循环轮播图之运动框架(原生JS实现)
2017/10/01 Javascript
深入浅析javascript继承体系
2017/10/23 Javascript
Node.js模块全局安装路径配置方法
2018/05/17 Javascript
ES6的解构赋值实例详解
2019/05/06 Javascript
基于JS实现数字动态变化显示效果附源码
2019/07/18 Javascript
ssm+vue前后端分离框架整合实现(附源码)
2020/07/08 Javascript
Vue多选列表组件深入详解
2021/03/02 Vue.js
[02:29]完美世界高校联赛上海赛区回顾
2015/12/15 DOTA
python字符串,数值计算
2016/10/05 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
jupyter notebook 多行输出实例
2020/04/09 Python
3分钟看懂Python后端必须知道的Django的信号机制
2020/07/26 Python
Python实现EM算法实例代码
2020/10/04 Python
python 决策树算法的实现
2020/10/09 Python
香港万宁官方海外旗舰店:香港健与美连锁店
2018/09/27 全球购物
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
网络技术专业求职信
2014/02/18 职场文书
村容村貌整治方案
2014/05/21 职场文书
毕业生银行实习自我鉴定
2014/10/14 职场文书
质检员岗位职责范本
2015/04/07 职场文书
2015年车间安全管理工作总结
2015/05/13 职场文书
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL
JavaScript前端面试扁平数据转tree与tree数据扁平化
2022/06/14 Javascript