下面是我做的音乐播放器如何调节音频音量的代码:
//增加切换音量事件(function(){ var height = $( #myAudio ul.control li.volume .alert-box .volume-wrap .bar .scroll-bar ).height(); $( #myAudio ul.control li.volume .alert-box .volume-wrap .bar .scroll-bar .scroll-btn ).on( mousedown ,function(e){ e.preventDefault(); var downHeight = $( #myAudio ul.control li.volume .alert-box .volume-wrap .bar .scroll-bar ).height(); var downY = e.clientY; document.onmousemove = function(e){ e.preventDefault(); var moveY = e.clientY; var nowHeight = downY-moveY+downHeight; if(nowHeight =0){ nowHeight =0; }else if(nowHeight = height){ nowHeight = height; $( #myAudio ul.control li.volume .alert-box .volume-wrap .bar .scroll-bar ).height(nowHeight); var precent = nowHeight/height; audio.volume = precent; document.onmouseup = function(){ document.onmousemove = null; document.onmouseup = null;})();
上面的主要思路:声明height变量先获取调节音量的滑动条的高度(设置的是80px),
给滑动条上的滑动块绑定mousedown事件,取消其默认事件e.preventDefault();
声明downHeight获取未滑动时的音量滑动条的高度, 声明downY获取点击位置距离窗口上方的y(垂直)方向距离var downY = e.clientY;
给整个dom添加mousemove事件,取消其默认事件e.preventDefault();
声明moveY获取光标移动到的位置距离窗口上方的y(垂直)方向距离var moveY = e.clientY;
声明nowHeight获取调节后音量滑动条的高度var nowHeight = downY-moveY+downHeight;
因为滑动条的高度为80px,所以在下面判断了一下
if(nowHeight =0){nowHeight=0;//最小值为0(对应volume静音)}else if(nowHeight =height){nowHeight=height;//最大值为80px(对应volume最大值1)}
将调节后的音量条高度赋值给滑动条,实现调节时滑动条同步变换高度;
由于音量vojume的取值范围(0-1),让nowHeight/height 得到调节后高度对总体高度的百分比,值为(0-1)
最后将这个值赋予audio.volume=nowHeight/height;
当调节结束后,松开鼠标添加mouseup事件,将mousemove和mouseup事件都清空
以上就是html5中关于volume属性的使用详解的详细内容,其它编程语言
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答