真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

js制作簡(jiǎn)單的音樂播放器的示例代碼

一、設(shè)計(jì)目的:

為射洪等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及射洪網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、射洪網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

1、隨著現(xiàn)在人民生活質(zhì)量的提高同樣伴隨著生活壓力的增大,越來越多的人追求越來越多的娛樂,其中一種娛樂方式就是音樂,于是突發(fā)奇想,制作一個(gè)音樂播放器。

2、主要功能:

1 支持循環(huán)自動(dòng)播放

2 支持圖片的旋轉(zhuǎn)

3 支持調(diào)整播放的位置,以及調(diào)整聲音的大小

4 歌詞滾動(dòng)效果

5 每秒顯示音樂的播放時(shí)間

二 、設(shè)計(jì)思路:

1、向?yàn)g覽器中添加背景音樂:

首先應(yīng)該向網(wǎng)頁中添加幾首好聽的背景音樂。添加音樂有,兩種方式可以用一個(gè)audo標(biāo)簽,這樣應(yīng)該把音樂的地址存放到一個(gè)數(shù)組中,第二種方式是,有幾首歌就添加幾個(gè)audo標(biāo)簽,然后獲取所有的北京音樂(先添加三首音樂,放到一個(gè)數(shù)組中);

    play1=document.getElementById("play1");
    play2=document.getElementById("play2");
    play3=document.getElementById("play3");
    play=[play1,play2,play3];

1、播放音樂的時(shí)候圖片驚醒旋轉(zhuǎn)

2、播放音樂的時(shí)候滾動(dòng)條滾動(dòng)

3、播放音樂的時(shí)候是事件隨著背景音樂的播放時(shí)間增加

圖片轉(zhuǎn)動(dòng)的函數(shù),當(dāng)音樂播放的時(shí)候調(diào)用rotate()函數(shù)

 functionrotate(){
         vardeg=0;
         flag=1;
         timer=setInterval(function(){
           image.style.transform="rotate("+deg+"deg)";
           deg+=5;
           if(deg>360){
            deg=0;
           }
         },30);
       }

清除定時(shí)器的函數(shù),當(dāng)音樂暫停的時(shí)候調(diào)用imagePause(),圖片旋轉(zhuǎn)的定時(shí)器被清除掉

  functionimagePause(){
         clearInterval(timer);
         flag=0;
       }

2:先定義兩個(gè)寬度長度大小一樣顏色不同的兩個(gè)div,利用currenttime屬性來過去當(dāng)前的播放的時(shí)間,設(shè)一個(gè)div一開始的長度為零,然后通過當(dāng)前播放的事件來調(diào)整div長度大小就能實(shí)現(xiàn)滾動(dòng)條的效果了。

 functionjindutiao(){
         //獲取當(dāng)前歌曲的歌長
         varlenth=play[index].duration;
         timer1=setInterval(function(){
           cur=play[index].currentTime;//獲取當(dāng)前的播放時(shí)間
           fillbar.style.width=""+parseFloat(cur/lenth)*300+"px";
         },50)
       }

將進(jìn)度條滾動(dòng)的定時(shí)器清除掉,然后div的長度還原為0;

function reducejindutiao(){
         clearInterval(timer1);
         fillbar.style.width="0";
       }

3,背景音樂的播放時(shí)間也是利用currenttime來隨時(shí)改變,不過應(yīng)該注意currenttime的計(jì)時(shí)單位為秒

function addtime(){
         timer2=setInterval(function(){
           cur=parseInt(play[index].currentTime);//秒數(shù)
           vartemp=cur;
           minute=parseInt(temp/60);
           if(cur%60<10){
            time.innerHTML=""+minute+":0"+cur%60+"";
           }else{
            time.innerHTML=""+minute+":"+cur%60+"";
           }
         },1000);
       }

二、實(shí)現(xiàn)通過進(jìn)度條來調(diào)整歌曲的播放位置:

首先應(yīng)該理清一下邏輯:當(dāng)點(diǎn)擊進(jìn)度條的時(shí)候,滾動(dòng)條的寬度應(yīng)該跟鼠標(biāo)的offsetX一樣長,然后根據(jù)進(jìn)度條的長度來調(diào)整聽該顯示的時(shí)間

(1) 給滾動(dòng)條的div添加一個(gè)事件,當(dāng)滾動(dòng)條長度變化的時(shí)候歌曲的當(dāng)前播放的時(shí)間調(diào)整,300是滾動(dòng)條的總長度

   function adjust(e){
         var bar=e.target;
         var x=e.offsetX;
         varlenth=play[index].duration;
         fillbar.style.width=x+"px";
         play[index].currentTime=""+parseInt(x*lenth/300)+"";
         play[index].play();
       }

(2) 改變聲音大小的滾動(dòng)條,跟改變播放時(shí)間類似,利用volume屬性(值為零到一)

function changeVolume(e){
         var x=e.offsetX+20;
         play[index].volume=parseFloat(x/200)*1;
         //改變按鈕的位置
         volume3.style.left=""+x+"px";
       }

(3)隨機(jī)跟順序播放音樂

順序播放音樂的時(shí)候,直接index++當(dāng)index的范圍超過歌曲的長度的時(shí)候,index=0重新開始。隨機(jī)播放的函數(shù)類似,當(dāng)歌曲播放完畢的時(shí)候,隨機(jī)產(chǎn)生一個(gè)0到play.length的數(shù)字就可以了

functionshunxu(e){
         var img=e.target;
         img1.style.border="";
         img.style.border="1pxsolid red";
         clearInterval(suijiplay);
         shunxuplay=setInterval(function(){
           if(play[index].ended){
             add();
           }
         },1000);
       }

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。


標(biāo)題名稱:js制作簡(jiǎn)單的音樂播放器的示例代碼
文章鏈接:http://weahome.cn/article/gsjhch.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部