微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

关于H5新属性audio音频和video视频的控制解析

本篇文章主要介绍了H5新属性audio音频和video视频的控制详解(推荐),具有一定的参考价值,有兴趣的同学可以了解一下。

本文讲诉了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.如何设置进度条和视频的播放时长

同步进行。

如图所示:

这里说一下,首先

(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。

最终实现的代码如下;

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

<p>
<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/>
</p>

<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>

原文地址:https://www.jb51.cc/html5/1200234.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。