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的Border-radius轻松制作圆角
Dec 24 HTML / CSS
纯CSS3发光分享按钮的实现教程
Sep 06 HTML / CSS
基于CSS3实现的黑色个性导航菜单效果
Sep 14 HTML / CSS
CSS3中的@keyframes关键帧动画的选择器绑定
Jun 13 HTML / CSS
HTML5对手机页面长按会粘贴复制禁用的解决方法
Jul 19 HTML / CSS
HTML5 用动画的表现形式装载图像
Mar 08 HTML / CSS
详解Html5微信支付爬坑之路
Jul 24 HTML / CSS
HTML5制作3D爱心动画教程 献给女友浪漫的礼物
Nov 05 HTML / CSS
HTML5实现动画效果的方式汇总
Feb 29 HTML / CSS
有关HTML5中背景音乐的自动播放功能
Oct 16 HTML / CSS
如何使用canvas绘制可移动网格的示例代码
Dec 14 HTML / CSS
HTML5之高度塌陷问题的解决
Jun 01 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
Sony CFR 320 修复改造
2020/03/14 无线电
比特率,大家看看这个就不用收音机音质去比MP3音质了
2021/03/01 无线电
PHP实现Socket服务器的代码
2008/04/03 PHP
PHP图片验证码制作实现分享(全)
2012/05/10 PHP
关于svn冲突的解决方法
2013/06/21 PHP
解析php根据ip查询所在地区(非常有用,赶集网就用到)
2013/07/01 PHP
如何使用PHP对网站验证码进行破解
2015/09/17 PHP
Zend Framework教程之Application和Bootstrap用法详解
2016/03/10 PHP
自制PHP框架之模型与数据库
2017/05/07 PHP
JS 建立对象的方法
2007/04/21 Javascript
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
用显卡加速,轻松把笔记本打造成取暖器的办法!
2013/04/17 Javascript
node.js中的fs.rename方法使用说明
2014/12/16 Javascript
深入浅析Vue 中 ref 的使用
2019/04/29 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
2020/02/10 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
python提示No module named images的解决方法
2014/09/29 Python
Python编程之微信推送模板消息功能示例
2017/08/21 Python
python async with和async for的使用
2019/06/20 Python
Python实现Mysql数据统计及numpy统计函数
2019/07/15 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
2019/12/26 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
2020/04/07 Python
python3 简单实现组合设计模式
2020/07/02 Python
Docker如何部署Python项目的实现详解
2020/10/26 Python
Python使用windows设置定时执行脚本
2020/11/12 Python
html5 利用canvas手写签名并保存的实现方法
2018/07/12 HTML / CSS
HTML5移动端手机网站开发流程
2016/04/25 HTML / CSS
加拿大最大的五金、家居装修和园艺产品商店:RONA
2017/01/27 全球购物
写一个在SQL Server创建表的SQL语句
2012/03/10 面试题
车间主任岗位职责
2014/03/16 职场文书
倡导文明标语
2014/06/16 职场文书
银行催款通知书
2015/04/17 职场文书
高一作文之乐趣
2019/11/21 职场文书
详解Go与PHP的语法对比
2021/05/29 PHP
详解pytorch创建tensor函数
2022/03/22 Python