JS+Audio實(shí)現(xiàn)簡單音樂播放器(-)


title: JS實(shí)現(xiàn)音樂播放器
date: 2017-05-08 22:54:22
categories: blog
tags: blog


回首向來蕭瑟處,也無風(fēng)雨也無窮贯莺!

JS+Audio實(shí)現(xiàn)簡單音樂播放器(-)

H5新增<audio>標(biāo)簽
加之最近一直苦修JS函數(shù)及Dom操作去扣,便萌發(fā)做一款簡單音樂播放器V00版(未來會逐漸完善柱衔,比如加入更多資源、新增爬蟲爬去音樂庫)愉棱,廢話不說直接上程序唆铐;

1奔滑、Html程序
<div id="Music" class="Music">
    <p id="head" class="head">
        Yesterday once more...
    </p>
    <div id="body" class="body">
        <div class="l" >
            ![](imgs/ZhuHai.jpg)
        </div>
        <p>yestoday once more...</p>
        <ul id="Timer" class="Timer">
            <li>0:00</li>
            <li>
               <div class="chose" id="chose"></div>
            </li>
            <li></li>
        </ul>
    </div>
    <div id="floor" class="floor">
        <audio src="music/McBlog.mp3" ></audio>  //此處放置音樂資源
        <p>Top</p>
        <p>Open</p>
        <p>Next</p>
    </div>
</div>

簡單實(shí)現(xiàn)如下圖:


Music
2王浴、CSS樣式如下:
  *{
        padding: 0;
        margin: 0;
    }
  .Music{
      margin: 20px;
      width: 300px;
      height: 450px;
      background-color:white;
      box-shadow: 0 0 5px gray;
      display: flex;
      flex-direction: column;
      text-align: center;
      justify-content: space-between;
  }
    .head{
       display: block;
       text-align: center;
       height: 30px;
       line-height: 30px;
       width: 200px;
       padding: 20px 50px;
       flex-grow: 0;
    }
    .body{
       padding: 20px 60px;
       flex-grow: 1;
         }
    .l{
        width: 180px;
        height: 180px;
        border-radius: 100px;
        overflow: hidden;
    }
    .l img{
        height: 100%;
    }
    ul{
        list-style: none;
        display: flex;
        flex-direction: row;
        height: 20px;
        line-height: 20px;
    }
    ul li:nth-child(1),ul li:nth-child(3){
        width: 40px;
        text-align:center;
        flex-grow: 0;
    }
    ul li:nth-child(2){
        width: 6px;
        padding: 5px;
        border-radius: 3px;
        flex-grow: 1;
    }
    .chose{
        height: 8px;
        border-radius: 3px;
        background-color: green;
        margin: 1px 0;
        width: 0px;
    }
    .body p{
        width: 180px;
        height: 40px;
        text-align: center;
        line-height: 40px;
    }
    .floor{
        height: 60px;
        padding: 20px;
        text-align: center;
        display: flex;
        flex-direction: row;
        flex-grow: 0;
        align-items: center;
    }
    .floor p{
        width:80px ;
        transition: color 1000ms,background-color 1000ms;
    }
    .floor p:hover{
        background-color: green;
        color: white;
    }
3氓辣、JS程序如下:核心為audio部分屬性筛婉;
 window.onload=function () {
        var pop=document.getElementById('floor').getElementsByTagName('p');
        var video=document.getElementsByTagName('audio');
        var Timer=document.getElementById('Timer').getElementsByTagName('li');
        var chose=document.getElementById('chose');
        var l=document.getElementById('l');
        pop[1].addEventListener('click',Music,false);
        video[0].addEventListener('canplay',Timecontrol,false)  //監(jiān)聽音樂就緒后動(dòng)作改變癞松!
        function Music() {        //此函數(shù)判斷音樂是否播放响蓉!
            if(video[0].paused){
                video[0].play();
                pop[1].innerText="Close";
            }
             else{
                video[0].pause();
                pop[1].innerText="Open";
            }
        }
        function Timecontrol(){     //實(shí)現(xiàn)音樂進(jìn)度條及音樂播放時(shí)間; 
            var j=0;
            var long=video[0].duration;
            var longs=parseInt(long/60)+':'+parseInt(long%60);
            var settimer=null;
            clearInterval(settimer);
            var settimer=setInterval(loading,1000);
            function loading(){
               var currenttimer=video[0].currentTime;
               if(currenttimer>long){
                   clearInterval(settimer);
               }
               else {
               var j=(currenttimer/long).toFixed(2)*90;
               if(video[0].paused&&currenttimer==0){
                   Timer[2].innerText="";
               }
               else{
                   Timer[2].innerText=longs;
                   var rot=j*8;
                   console.log(rot);
                   l.style.webkitTransform= "rotate("+rot +"deg)";
               }
                var start=parseInt(currenttimer/60);
                var end=parseInt(currenttimer%60);
                if(end<10){
                    end='0'+end;
                }
                var start=start+':'+end;
               Timer[0].innerText=start;
               chose.style.width=j+'px';
           }
        }
        }
    }
4、下一部分實(shí)現(xiàn)重點(diǎn):

A想幻、歌曲切換功能;
B闹究、完善背景圖片隨音樂節(jié)奏旋轉(zhuǎn)功能食店;
C赏寇、嘗試增加各音階的播放動(dòng)畫价认;
D、初步的Python爬蟲爬取學(xué)習(xí)筆記及實(shí)例用踩;
---以上內(nèi)容捶箱,預(yù)計(jì)在5/30日更新,下一篇為JS基本緩沖動(dòng)畫荠锭;

加油晨川,吾輩當(dāng)共勉;!!!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末愧怜,一起剝皮案震驚了整個(gè)濱河市拥坛,隨后出現(xiàn)的幾起案子尘分,更是在濱河造成了極大的恐慌,老刑警劉巖著摔,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谍咆,死亡現(xiàn)場離奇詭異摹察,居然都是意外死亡倡鲸,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來宁炫,“玉大人,你說我怎么就攤上這事羔巢「透眩” “怎么了?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵歉备,是天一觀的道長匪燕。 經(jīng)常有香客問我,道長龟再,這世上最難降的妖魔是什么尼变? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任嫌术,我火速辦了婚禮,結(jié)果婚禮上日丹,老公的妹妹穿的比我還像新娘蚯嫌。我一直安慰自己,他們只是感情好束凑,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布汪诉。 她就那樣靜靜地躺著扒寄,像睡著了一般。 火紅的嫁衣襯著肌膚如雪迄本。 梳的紋絲不亂的頭發(fā)上嘉赎,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天于樟,我揣著相機(jī)與錄音迂曲,去河邊找鬼。 笑死抓韩,一個(gè)胖子當(dāng)著我的面吹牛谒拴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播英上,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼苍日,長吁一口氣:“原來是場噩夢啊……” “哼相恃!你這毒婦竟也來了笨觅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤杀糯,失蹤者是張志新(化名)和其女友劉穎固翰,沒想到半個(gè)月后骂际,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了拳话。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弃衍。...
    茶點(diǎn)故事閱讀 40,030評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡镜盯,死狀恐怖速缆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情艺糜,我是刑警寧澤破停,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布毅臊,位于F島的核電站黑界,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏宠蚂。R本人自食惡果不足惜童社,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望美浦。 院中可真熱鬧浦辨,春花似錦沼沈、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至页衙,卻和暖如春摊滔,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背店乐。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工艰躺, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人眨八。 一個(gè)月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓腺兴,卻偏偏與公主長得像,于是被迫代替她去往敵國和親踪古。 傳聞我的和親對象是個(gè)殘疾皇子含长,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容