溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

html5中volume屬性的使用示例

發(fā)布時(shí)間:2021-01-30 13:44:14 來(lái)源:億速云 閱讀:262 作者:小新 欄目:web開發(fā)

小編給大家分享一下html5中volume屬性的使用示例,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

 Audio對(duì)象屬性: volume 描述:設(shè)置或返回音頻的音量,取值范圍(0——1)

下面是我做的音樂(lè)播放器如何調(diào)節(jié)音頻音量的代碼:

//增加切換音量事件
(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變量先獲取調(diào)節(jié)音量的滑動(dòng)條的高度(設(shè)置的是80px),

給滑動(dòng)條上的滑動(dòng)塊綁定mousedown事件,取消其默認(rèn)事件e.preventDefault();

聲明downHeight獲取未滑動(dòng)時(shí)的音量滑動(dòng)條的高度, 聲明downY獲取點(diǎn)擊位置距離窗口上方的y(垂直)方向距離var downY = e.clientY;

給整個(gè)dom添加mousemove事件,取消其默認(rèn)事件e.preventDefault();

聲明moveY獲取光標(biāo)移動(dòng)到的位置距離窗口上方的y(垂直)方向距離var moveY = e.clientY;

聲明nowHeight獲取調(diào)節(jié)后音量滑動(dòng)條的高度var nowHeight = downY-moveY+downHeight;

因?yàn)榛瑒?dòng)條的高度為80px,所以在下面判斷了一下

if(nowHeight <=0){
nowHeight=0;//最小值為0(對(duì)應(yīng)volume靜音)
}else if(nowHeight>=height){
nowHeight=height;//最大值為80px(對(duì)應(yīng)volume最大值1)
}

將調(diào)節(jié)后的音量條高度賦值給滑動(dòng)條,實(shí)現(xiàn)調(diào)節(jié)時(shí)滑動(dòng)條同步變換高度;

由于音量vojume的取值范圍(0-1),讓nowHeight/height 得到調(diào)節(jié)后高度對(duì)總體高度的百分比,值為(0-1)

最后將這個(gè)值賦予audio.volume=nowHeight/height;

當(dāng)調(diào)節(jié)結(jié)束后,松開鼠標(biāo)添加mouseup事件,將mousemove和mouseup事件都清空

以上是“html5中volume屬性的使用示例”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI