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点击按钮实现背景渐变动画效果
Oct 19 HTML / CSS
css3 边框、背景、文本效果的实现代码
Mar 21 HTML / CSS
CSS3之transition实现下划线的示例代码
May 30 HTML / CSS
html5+css3之制作header实例与更新
Dec 21 HTML / CSS
Canvas 文本转粒子效果的实现代码
Feb 14 HTML / CSS
利用html5 canvas破解简单验证码及getImageData接口应用
Jan 25 HTML / CSS
使用canvas绘制超炫时钟
Dec 17 HTML / CSS
html5本地存储 localStorage操作使用详解
Sep 20 HTML / CSS
详解HTML5 window.postMessage与跨域
May 11 HTML / CSS
Html5移动端网页端适配(js+rem)
Feb 03 HTML / CSS
CSS的class与id常用的命名规则
May 18 HTML / CSS
CSS浮动引起的高度塌陷问题
Aug 05 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最常用的ini函数分析 针对PHP.ini配置文件
2010/04/22 PHP
关于PHP session 存储方式的详细介绍
2013/06/25 PHP
php ctype函数中文翻译和示例
2014/03/21 PHP
PHP自带ZIP压缩、解压缩类ZipArchiv使用指南
2015/03/03 PHP
php字符串函数学习之substr()
2015/03/27 PHP
你应该知道PHP浮点数知识
2015/05/13 PHP
PDO的安全处理与事物处理方法
2016/10/31 PHP
PHP实现微信小程序用户授权的工具类示例
2019/03/05 PHP
PHP实现时间日期友好显示实现代码
2019/09/08 PHP
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
JQuery onload、ready概念介绍及使用方法
2013/04/27 Javascript
javascript 数组排序函数sort和reverse使用介绍
2013/11/21 Javascript
jquery中添加属性和删除属性
2015/06/03 Javascript
jQuery简单实现向列表动态添加新元素的方法示例
2017/12/25 jQuery
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
js拖动滑块和点击水波纹效果实例代码
2018/10/16 Javascript
用jQuery实现抽奖程序
2020/04/12 jQuery
vue调用本地摄像头实现拍照功能
2020/08/14 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
[01:17]Ti4 循环赛第一日回顾
2014/07/11 DOTA
[01:33]DOTA2上海特级锦标赛 LIQUID战队完整宣传片
2016/03/16 DOTA
python实现txt文件格式转换为arff格式
2018/05/31 Python
TensorFlow Session使用的两种方法小结
2018/07/30 Python
基于随机梯度下降的矩阵分解推荐算法(python)
2018/08/31 Python
详解python 3.6 安装json 模块(simplejson)
2019/04/02 Python
树莓派安装OpenCV3完整过程的实现
2019/10/10 Python
css3实现多个元素依次显示效果
2017/12/12 HTML / CSS
新学期家长寄语
2014/01/19 职场文书
副主任竞聘演讲稿
2014/08/18 职场文书
党的群众路线教育实践活动对照检查材料(四风)
2014/09/27 职场文书
党员批评与自我批评发言
2014/10/02 职场文书
护理医院见习报告
2014/11/03 职场文书
2014年学习委员工作总结
2014/11/14 职场文书
2014年行政执法工作总结
2014/12/11 职场文书
抢劫罪辩护词
2015/05/21 职场文书
Unity连接MySQL并读取表格数据的实现代码
2021/06/20 MySQL