亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > HTML5 > 正文

HTML5自定義mp3播放器源碼

2024-09-05 07:23:13
字體:
來源:轉載
供稿:網友

audio對象

src兼容.ogg .wav .mp3

<audio controls src='data/imooc.wav'></audio>

width autoplay loop muted靜音

<audio controls src='data/imooc.wav' autoplay loop width='500' height='500' muted></audio>

播放play()

 var myAudio = new Audio();        myAudio.src = 'data/imooc.wav';        myAudio.play();        btn.onclick = function(){            myAudio.play();        };

暫停pause()

pauseNode.onclick = function(){                myAudio.pause();            };

當前播放的時間currentTime

音頻總時長duration

   //返回音頻的總長度            myAudio.addEventListener('canplay',function(){                durationNode.innerHTML = myAudio.duration;            });            //更新當前播放的時間            setInterval(function(){                currentNode.innerHTML = myAudio.currentTime;            },100);

音頻源currentSrc

var myAudio = new Audio();        myAudio.src = 'data/imooc.mp3';        console.log(myAudio.currentSrc);

loop循環

myAudio.loop = true;

音頻播放結束ended

myAudio.addEventListener('ended',function(){            console.log('音頻播放結束');            console.log(myAudio.ended)        });

重新加載

 

 loadBtn.onclick = function(){            myAudio.load();        };

跳轉到新的播放位置seeked / seeking

 myAudio.addEventListener('seeked',function(){            console.log('seeked');        });        myAudio.addEventListener('seeking',function(){            console.log('seeking');            sekingNum++;            seekingNum.innerHTML = sekingNum;        });

playbackRate設置當前播放速度

 

   myAudio.playbackRate = '15';        console.log(myAudio.playbackRate)

全屏requestFullScreen

 btnScreen.onclick = function(){            myAudio.webkitRequestFullScreen();        }

loop 循環

 

 myAudio.loop = true;

volumechange音量改變

 

  myAudio.addEventListener('volumechange',function(){            console.log('音頻的聲音改變了')        });

timeupdate音頻正在播放狀態

 myAudio.addEventListener('timeupdate',function(){            console.log('音頻正在播放中...')        })

自定義mp3播放器

放圖

<!doctype html> <html> <head>     <meta charset="utf-8">     <title></title>     <style type="text/css">*{margin: 0;padding: 0;list-style: none;}        .outerNode{width: 505px;height: 406px;position: absolute;left: 50%;top: 50%;margin: -204px 0 0 -253.5px;border: 1px solid #a6a18d;border-radius:8px;box-shadow: 0 0 16px #a6a18d; }.innerNode{width: 503px;height: 405px;border-top:1px solid #e1d1b9;border-left:1px solid #ceccbf;border-radius: 8px;overflow: hidden;border-right:1px solid #ceccbf;   }.topNode{width: 100%;height: 198px;border-bottom: 1px solid #787463;background: url(music/pic/fmt01.jpg) center center;background-size:cover; transition:.7s;position: relative;}.lineNode{    width: 100%;height: 46px;border-top: 1px solid #f9f7ee;border-bottom: 1px solid #a29d8a;background: url(musicimage/linebg.jpg) repeat-x; }.progressNode{width: 440px;height: 18px;float: left;margin:13px 0 0 28px;background: url(musicimage/progressbg.jpg) repeat-x;position: relative; }.progressNode .progressleft{    width: 7px;height: 100%;position: absolute;left: 0;    background: url(musicimage/leftNode.jpg);}.progressNode .progressright{    width: 7px;height: 100%;position: absolute;right: 0;    background: url(musicimage/rightNode.jpg);}.bottomNode{    width: 100%;height: 157px;border-top: 1px solid #a29d8a;    background: url(musicimage/bottombg.jpg) repeat-x;position: relative;}.lastNode{width: 75px;height: 74px;position: absolute;background: url(musicimage/lastBg.png) no-repeat;left: 118px;top: 39px;cursor: pointer;}.playNode{width: 95px;height: 94px;position: absolute;background: url(musicimage/playNode.png) no-repeat;left: 202px;top: 29px;cursor: pointer;}.nextNode{width: 75px;height: 74px;background: url(musicimage/rightbg.png) no-repeat;position: absolute;left: 306px;top: 39px;cursor: pointer;}.volumeNode{width: 37px;height: 32px;background: url(musicimage/volume.png) no-repeat; position: absolute;right: 43px;top: 58px;cursor: pointer;}.no_volumeNode{width: 37px;height: 32px;background: url(musicimage/no_volume.png) no-repeat; position: absolute;right: 43px;top: 58px;cursor: pointer;}.trueLine{position: absolute;left: 3px;top: 2px;height: 12px;width: 0%;    background: url(musicimage/green_bg.png) repeat-x;border-radius: 6px;     border-right: 1px solid #787463;}.musicName{color: white;position: absolute;bottom: 2px;left: 5px;}    </style></head><body>    <!-- outerNode 最外層的元素 -->    <div class='outerNode'>        <!-- innerNode 內層元素 -->        <div class='innerNode'>            <!-- topNode 封面圖元素 -->            <div class='topNode'>                <!-- 音樂名稱 -->                <div class='musicName'></div>            </div>            <!-- lineNode 進度條元素 -->            <div class='lineNode'>                <!-- 進度條-->                <div class='progressNode'>                    <div class='progressleft'></div>                    <div class='progressright'></div>                    <!-- 真正的進度條 -->                    <div class='trueLine'></div>                </div>            </div>            <!-- bottomNode 空間元素 -->            <div class='bottomNode'>                <!-- lastNode 上一曲的按鈕-->                <div class='lastNode'></div>                <!-- playNode 播放暫停的按鈕 -->                <div class='playNode'></div>                <!-- nextNode 下一曲的按鈕 -->                <div class='nextNode'></div>                <!-- volumeNode 靜音或非靜音的按鈕-->                <div class='volumeNode'></div>            </div>        </div>    </div>    <script type="text/javascript">        //播放暫停的按鈕        //playBln 控制播放暫停的布爾值        var playBtn = document.querySelector('.playNode'),        playBln = true,        //控制聲音的按鈕        //volumeBln 控制聲音的布爾值        volumeNode = document.querySelector('.volumeNode'),        volumeBln = true,        //進度條的選擇器        trueLine = document.querySelector('.trueLine'),        //進度條外層的元素        progressNode = document.querySelector('.progressNode'),        //最外層元素        outerNode = document.querySelector('.outerNode'),        //選擇一下封面背景        topNode = document.querySelector('.topNode'),        //下一首歌的按鈕        nextNode = document.querySelector('.nextNode'),        //上一首歌的按鈕        lastNode = document.querySelector('.lastNode'),        //音樂名稱        musicName = document.querySelector('.musicName');        //給播放器添加js        //創建audio對象        var myAudio = new Audio();        //給audio對象一個 src        //所有的數據存在數組里面        let allMusic = [{            'MusicSrc':'music/mus/AcousticGuitar1.mp3',            'MusicPic':'music/pic/fmt01.jpg',            'MusicName':'AcousticGuitar1'        },{            'MusicSrc':'music/mus/AmazingGrace.mp3',            'MusicPic':'music/pic/fmt02.png',            'MusicName':'AmazingGrace'        },{            'MusicSrc':'music/mus/FeelsGood2B.mp3',            'MusicPic':'music/pic/fmt03.jpg',            'MusicName':'FeelsGood2B'        },{            'MusicSrc':'music/mus/FunBusyIntro.mp3',            'MusicPic':'music/pic/fmt04.jpg',            'MusicName':'FunBusyIntro'        },{            'MusicSrc':'music/mus/GreenDaze.mp3',            'MusicPic':'music/pic/fmt05.jpg',            'MusicName':'GreenDaze'        },{            'MusicSrc':'music/mus/Limosine.mp3',            'MusicPic':'music/pic/fmt06.jpg',            'MusicName':'Limosine'        }],Index = 0;        myAudio.src = allMusic[Index].MusicSrc;        //給封面賦值        topNode.style.backgroundImage = 'url('+allMusic[Index].MusicPic+')';        //給音樂名稱        musicName.innerHTML = allMusic[Index].MusicName;        //谷歌瀏覽器不允許直接play        //myAudio.play();        //播放暫停的事件        playBtn.onclick = function(){            //myAudio.play();            playBln = !playBln;            if(playBln == false){                myAudio.play();            }            else{                myAudio.pause();            }        };        //聲音的事件        volumeNode.onclick = function(){            volumeBln = !volumeBln;            if(volumeBln == false){                myAudio.volume = 0;                this.className = 'no_volumeNode';            }            else{                myAudio.volume = 1;                this.className = 'volumeNode';            }        };        //播放時 進度條的長度控制計算        myAudio.addEventListener('timeupdate',function(){            trueLine.style.width = myAudio.currentTime / myAudio.duration * 100 + '%';        });        //點擊progressNode元素 讓進度條直接到達這個位置        progressNode.onclick = function(e){            var ev = e || event;            //算法 就是 算出 點擊的位置 在 外層進度條的 多少像素            //需要一個鼠標坐標點 減去 外層元素的 offsetLeft 和 最外層元素的offsetLeft             // 320秒 *  0.50 = 160秒            myAudio.currentTime = myAudio.duration * ((ev.clientX - (this.offsetLeft + outerNode.offsetLeft))/this.offsetWidth);            trueLine.style.width = ((ev.clientX - (this.offsetLeft + outerNode.offsetLeft))/this.offsetWidth) * 100 + '%';        };        //下一首歌的事件        nextNode.onclick = function(){            Index ++;            if(Index == allMusic.length){                Index = 0;            }            MusicPlayFn();        };        //音樂播放的函數        function MusicPlayFn(){            myAudio.src = allMusic[Index].MusicSrc;            myAudio.currentTime = 0;            trueLine.style.width = '0%';            if(playBln == false){                myAudio.play();            }            else{                myAudio.pause();            }            //給封面賦值            topNode.style.backgroundImage = 'url('+allMusic[Index].MusicPic+')';            //給音樂名稱            musicName.innerHTML = allMusic[Index].MusicName;        }        //上一首歌的點擊事件        lastNode.onclick = function(){            Index --;            if(Index == -1){                Index = allMusic.length-1;            }            MusicPlayFn();        };    </script></body></html>

總結

以上所述是小編給大家介紹的HTML5自定義mp3播放器源碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩成人激情在线| 国产午夜精品久久久| 国产精品自拍小视频| 亚洲欧美日韩一区二区在线| 久久艳片www.17c.com| 亚洲精品aⅴ中文字幕乱码| 久久av中文字幕| 欧美大片va欧美在线播放| 日本伊人精品一区二区三区介绍| 欧美精品videofree1080p| 欧美成在线观看| 91av国产在线| 九九九久久国产免费| 欧美亚洲国产视频小说| 播播国产欧美激情| 日韩在线欧美在线国产在线| 91中文字幕在线观看| 国产精品美女久久| 亚洲美腿欧美激情另类| 日韩欧美国产免费播放| 第一福利永久视频精品| 日韩电影第一页| 成人自拍性视频| 成人淫片在线看| 精品国产一区二区在线| 国产精品久久久久久中文字| 欧美一级高清免费| 精品国产拍在线观看| 在线观看国产精品91| 亚洲激情视频网站| 欧美成人免费小视频| 日韩欧美高清在线视频| 成人国产亚洲精品a区天堂华泰| 国产日韩中文字幕| 日韩视频免费看| 成人日韩av在线| 日韩大陆欧美高清视频区| 亚洲精品一区久久久久久| 一道本无吗dⅴd在线播放一区| 在线视频欧美性高潮| 92看片淫黄大片欧美看国产片| 91视频免费在线| 国产精品丝袜白浆摸在线| 在线国产精品播放| 性亚洲最疯狂xxxx高清| 欧美高清视频在线| 激情久久av一区av二区av三区| 国产精品久久久久久久久久尿| 日韩在线观看av| 日韩av片免费在线观看| 97国产suv精品一区二区62| 亚洲色图欧美制服丝袜另类第一页| 亚洲激情视频在线播放| 国产精品伦子伦免费视频| 日韩高清欧美高清| 91免费人成网站在线观看18| 亚洲精品美女久久| 欧美疯狂做受xxxx高潮| 最近2019年日本中文免费字幕| 国产精品老女人视频| 国产欧美久久久久久| 亚洲人成网7777777国产| 国产成人鲁鲁免费视频a| 国产成人久久精品| 国产精品一区二区三区免费视频| 日韩欧美在线一区| 欧美日韩激情小视频| 中文字幕日本精品| 欧美另类极品videosbest最新版本| 亚洲sss综合天堂久久| 亚洲精品美女在线| 国内精品模特av私拍在线观看| 日韩av最新在线| 国产精品成人免费视频| 91久久精品视频| 97激碰免费视频| 亚洲一级片在线看| 成人精品久久久| 国产精品福利无圣光在线一区| 国产视频精品xxxx| 精品五月天久久| 国产一区视频在线| 成人免费自拍视频| 日韩av中文字幕在线播放| 国产有码在线一区二区视频| 视频一区视频二区国产精品| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美性videos高清精品| 国产精品久久久久久久久久尿| 久久中文字幕在线视频| 国产精品久久久精品| 亚洲综合在线播放| 麻豆国产精品va在线观看不卡| 欧美华人在线视频| 欧美性极品xxxx做受| 欧美极品少妇xxxxⅹ裸体艺术| 亚洲免费影视第一页| 欧美日韩一区二区免费在线观看| 日韩欧美国产高清91| 国产精品久久久久久中文字| 久久影视电视剧凤归四时歌| 国产精品视频xxxx| 日本三级韩国三级久久| 欧美性生活大片免费观看网址| 精品国产精品自拍| 91香蕉电影院| 日韩精品有码在线观看| 5566日本婷婷色中文字幕97| 国产精欧美一区二区三区| 日韩欧美成人网| 欧美激情免费观看| 精品自拍视频在线观看| 国产亚洲精品美女久久久| 中文国产成人精品久久一| 欧美成人精品xxx| 91久久嫩草影院一区二区| 隔壁老王国产在线精品| 欧美第一页在线| 亚洲欧美中文日韩v在线观看| 亚洲精品电影在线| 欧美亚洲日本黄色| 日韩av影片在线观看| 欧美自拍视频在线观看| 日韩av电影在线免费播放| 国产欧美日韩高清| 中文字幕亚洲一区二区三区五十路| 色偷偷88888欧美精品久久久| 日韩在线视频网站| 97热精品视频官网| 国产一区二区香蕉| 欧美日韩亚洲精品内裤| 欧美大片免费观看在线观看网站推荐| 日韩av影院在线观看| 亚洲精品日韩丝袜精品| 久久综合五月天| 久久夜精品va视频免费观看| 日本精品一区二区三区在线| 亚洲的天堂在线中文字幕| 欧美视频中文在线看| 亚洲理论在线a中文字幕| 欧美性猛交xxxx偷拍洗澡| 国产精品久久久久久久7电影| 欧美日韩999| 麻豆成人在线看| 色悠久久久久综合先锋影音下载| 国产99久久精品一区二区 夜夜躁日日躁| 亚洲人成自拍网站| 欧美与黑人午夜性猛交久久久| 欧美日本国产在线| 欧美激情一级二级| 国产91精品久久久久| 欧美激情欧美激情在线五月| 欧美在线一区二区视频| 亚洲自拍偷拍色片视频| 欧美性xxxx极品高清hd直播| 少妇高潮久久77777| 亚洲人av在线影院| www高清在线视频日韩欧美| 91九色视频在线| 亚洲欧美精品一区| 日韩av中文在线| 国产精品久久久久77777| 久久久91精品国产一区不卡| 黑人狂躁日本妞一区二区三区|