• <small id="q82qq"></small>
  • <tr id="q82qq"></tr>
  • <sup id="q82qq"><delect id="q82qq"></delect></sup>
    <nav id="q82qq"></nav>
    <small id="q82qq"></small>
  • 国产一级AN无码系列,两性色午夜免费视频看,四个搬来的四名爆乳邻居,亚州av免费一级视屏

    傳播藝術(shù) 品味生活 您的位置: 首頁
     關(guān)鍵詞推薦
     瀏覽中國網(wǎng)欄目
    用FLASH做簡單MP3播放器
    藝術(shù)中國 | 時間: 2006-02-14 14:09:04 | 文章來源:

    開場白
    上網(wǎng)多了,常看到好多網(wǎng)頁中有用FLASH做的播放器!有它加在網(wǎng)頁中確實給整個頁面增加了不少氣氛!學(xué)FLASH的新手們看到了當(dāng)然想自己也親自做個嘍!對不!我也是其中之一哦哈!
    開始制作
    我的思路:
    1:由于要放在網(wǎng)頁上的所以播放器SWF文件要小,也就是說MP3歌曲文件要從外部加載!
    2:能實現(xiàn):

    A 打開網(wǎng)頁時能自動加載第一首歌并播放;播放完后自動播放下一首;播放完最后一首能回到第一首;
    B 有六首歌的按鈕任瀏覽者可直接選擇其一并播放;
    C 有個動態(tài)字幕,能顯示當(dāng)前歌曲的曲目;
    D 有能實現(xiàn)暫停、繼續(xù)、下一首、上一首的四個按鈕和音量控制按鈕;

    —OK!有了思路就畫播放器界面吧!如下圖,我畫的比較簡單,朋友們可以自己發(fā)揮畫個有個性的屬于你的界面吧! 
    點擊瀏覽該文件

    按此在新窗口瀏覽圖片

    加載歌曲和實現(xiàn)字幕實時滾動的代碼我放在幀上!我共用兩幀來實現(xiàn)!界面上的每個按鈕實現(xiàn)的功能的代碼我分別放在各自的按鈕上!

    第一幀我主要用來實現(xiàn)字幕的實時滾動和實時的音量大小!
    第二幀就是加載外部MP3,和實時判斷歌曲放完后自動放下一首!

    第一幀代碼如下:


    onLoad = function () {
    sname = 1;// 聲明歌曲序號變量,后面要用到它;比如下面要用到它來實現(xiàn)字幕的內(nèi)容還有第二幀要用它來確定要播放哪首歌;
    count = 0;// 在AS2.0里就必須加這句; AS1.0就不用;意思也是聲明變量,在實現(xiàn)字幕的滾動時用到;
    };
    //以下代碼只用于實現(xiàn)字幕的滾動 加載聲音的代碼我全放到第二幀上了
    function loaded() {//自定義調(diào)用函數(shù)loaded()以便以后調(diào)用,
    _root.onEnterFrame = function() {
    _root.mySound.setVolume(_root.Msound.Bsound._x);
    //這句代碼是實時獲取聲音的大小,本來我是放在控制音量的按鈕上的,但發(fā)有BUG!因為同時用兩個onEnterFrame會產(chǎn)生沖突!
    count += 1;
    show = mbsubstring(this["text"+sname], count-15, count);//這句就是讓字幕滾動;注意這里的"show"!它來自動態(tài)文本框的變量名!
    if (count>mblength(this["text"+sname])-8) {//這個if用于判斷字幕滾完后又從頭開始滾動;
    count = 0;
    }
    };
    }
    loaded();//調(diào)用剛才定義好的函數(shù)!在播放也會調(diào)用到!
    //以下是定義動態(tài)字幕要顯示的內(nèi)容!
    text1 = "當(dāng)前曲目為——明年今日--陳弈迅 ";
    text2 = "當(dāng)前曲目為——沖動的懲罰--刀郎 ";
    text3 = "當(dāng)前曲目為——愛就愛了 -- 陳琳 ";
    text4 = "當(dāng)前曲目為——好心分手 --王力宏 ";
    text5 = "當(dāng)前曲目為——梔子花開 - 何 炅 ";
    text6 = "當(dāng)前曲目為——七里香 -- 周杰倫 ";

    第二幀代碼如下:

    if (sname<=6) {
    mySound.stop();// 沒有這句,在歌曲未放完的時候按播放按鈕加載新的歌曲會出現(xiàn)兩首疊放的BUG!
    mySound = new Sound();// 聲明mySound為新的聲音
    mySound.loadSound("sound/s"+sname+".mp3", true);// 從外部加載聲音;請注意路徑和文件名!
    mySound.start();// 加載完畢后開始播放
    stop();// 場景停在第二幀
    mySound.onSoundComplete = function() {
    sname = sname+1;
    gotoAndPlay(1); // 判斷聲音放完后,變量sname加1,場景跳到第三幀播放,即播放下一首;
    };
    } else {
    sname = 1;//實現(xiàn)播六首后回到第一首;
    }

    播放按鈕上的代碼如下:

    on (release) {
    loaded();//調(diào)用剛才定義好的函數(shù)!在播放也會調(diào)用到!
    mySound.stop();// 沒有這句,在歌曲未放完的時候按反復(fù)按播放按鈕會出現(xiàn)多首疊放的BUG!
    soundposition = mysound.position/1000;// 獲得聲音已播放的毫秒數(shù);除以1000是因為場景中加載聲音是以秒為單位;
    mySound.onLoad = function() {
    mySound.start(soundposition, 1);
    };//實現(xiàn)聲音從暫停的位置處接著播放,位置由變量soundposition獲得;
    mySound.loadSound("sound/s"+sname+".mp3", true);
    _root.play.gotoAndStop(1);//使播放鈕變?yōu)榫G色;
    }

    暫停按鈕上的代碼如下:

    on (release) {
    mySound.stop();//聲音停止;
    play.gotoAndStop(2);//使播放鈕變?yōu)榛疑?
    delete _root.onEnterFrame;//刪除占用CPU資源的代碼onEnterFrame;
    }

    "上一首"按鈕上的代碼如下:

    on (release) {
    if (sname>1) {// 判斷曲目必須是大于1并小于6;
    sname = sname-1;
    _root.gotoAndPlay(2);//使場景的第二幀代碼刷新;即實現(xiàn)換歌;
    _root.play.gotoAndStop(1);//使播放鈕變?yōu)榫G色;
    } else {
    sname = 6;
    _root.gotoAndPlay(2);//使場景的第二幀代碼刷新;即實現(xiàn)換歌;
    _root.play.gotoAndStop(1);//使播放鈕變?yōu)榫G色;
    }
    }

    "下一首"按鈕上的代碼如下:

    on (release) {
    if (sname<6) {// 判斷曲目必須是小于6并大于1;
    sname = sname+1;
    _root.gotoAndPlay(2);//使場景的第二幀代碼刷新;即實現(xiàn)換歌;
    _root.play.gotoAndStop(1);//使播放鈕變?yōu)榫G色;
    } else {
    sname = 1;
    _root.gotoAndPlay(2);//使場景的第二幀代碼刷新;即實現(xiàn)換歌;
    _root.play.gotoAndStop(1);//使播放鈕變?yōu)榫G色;
    }
    }

    "音量控制"按鈕上的代碼如下:

    on (press) {
    startDrag("_root.Msound.Bsound", false, 0, 0, 100, 0);//限制被拖動的范圍;
    }
    on (release) {
    stopDrag();//停止拖動;
    }

    六個曲目按鈕代碼相同,只是變量不同,代碼如下:

    on (release) {
    sname = 1;//六個按鈕的變量不同分別代表六首歌;
    _root.gotoAndPlay(2);//使場景的第二幀代碼刷新;即實現(xiàn)換歌;
    _root.play.gotoAndStop(1);//使播放鈕變?yōu)榫G色;
    }

    總結(jié)


    通過做這個播放器在腳本部分我總結(jié)幾個要點給大家!

    1、學(xué)習(xí):函數(shù)的自定義和函數(shù)調(diào)用!即在第一幀上自定義的函數(shù)loaded();它的好處可大拉,形象地說就好比你在家銀行存上一大筆的錢,然后就只帶上一個小小的銀行卡就可周游全國各地一樣的方便!
    2、滾動字幕的實現(xiàn)!這里有算法和技巧的成份需要仔細(xì)琢磨,技巧部分就是動態(tài)文本框的對齊方式要為右!
    3、如何實現(xiàn)聲音從暫停的位置處接著播放!方法可能有多種!我這里只是其一!
    4、onEnterFrame如果在多處用到會有沖突!

    結(jié)束語

    這算是我第一次寫教程吧!感覺好難寫(就是要寫的地方有好多好多!難處就是要怎么寫才能讓人通俗易理解呀呵~~)
    希望朋友們能看得懂!
    源文件在:
     點擊瀏覽該文件

    下載后朋友們可以自己從網(wǎng)上找些自己喜歡的歌,放進(jìn)sound文件夾中并分別為之更名為:
    s1.mp3 ; s2.mp3 …… s6.mp3
    即可

    加載歌曲的LOADING(修改后):

     點擊瀏覽該文件

    我是在原來的文本框的位置疊加了個文本框!(變量名為:下載進(jìn)度
    然后在場景新建個空的MC加上如下代碼:

    onClipEvent (enterFrame) {
    a = int(mySound.getBytesLoaded()/1000);
    b = int(mySound.getBytesTotal()/1000);
    _parent.下載進(jìn)度 = int((a/b)*100)+"%";
    if (a>=b) {
    _parent.下載進(jìn)度 = " 2";
    }
    }

    打印文章    收 藏    歡迎訪問藝術(shù)中國論壇 >>
    發(fā)表評論
    昵 稱 匿名

     

    相關(guān)文章

    藝術(shù)中國 | 廣告服務(wù) | 招聘信息 | 聯(lián)系我們 | 合作伙伴
    版權(quán)所有 中國互聯(lián)網(wǎng)新聞中心 電子郵件: artchina@china.org.cn 電話: 86-10-88828128
    Copyright © China Internet Information Center. All Rights Reserved

    国产一级AN无码系列
  • <small id="q82qq"></small>
  • <tr id="q82qq"></tr>
  • <sup id="q82qq"><delect id="q82qq"></delect></sup>
    <nav id="q82qq"></nav>
    <small id="q82qq"></small>