本教程是向大家介紹利用Flash打造一款有特色的迷你音樂播放器,教程制作出來音樂播放器非常可愛有特色,教程難度一般,用到了Flash代碼編寫。轉發過來,喜歡的朋友可以跟著教程一起來制作一下!
制作要領: Flash 中影片剪輯的控制、音量大小的調節,聲音平衡的調節,動態文本顯示數據。
制作步驟:
一、創建背景圖像
1 .啟動 Flash MX 2004 軟件,在向導中選擇 Create New 下的“ Flash 文檔”,創建一個默認寬為 550px 、高為 400px 、背景色白色、幀頻 12fps 的文件。
2 .利用鉛筆工具、橢圓工具、線條工具等各種繪圖工具繪制場景及收音機(也可以從網上或是其它動畫出提取素材。

二、繪制收音機的播放按鈕并添加動作
1 .新建六個按鈕元件,分別繪制控制收音機播放的各個按鈕。


2 .利分別給這幾個按鈕加上命令:
①“最前”按鈕上的命令
用鼠標單擊“最前”按鈕將其選中,然后打開“動作”面板,在右方動作命令行中輸入:
on (release) { //當鼠標釋放的時候
gotoAndStop(1); //播放頭指向第1幀,并停止播放.
}
② “快退”按鈕上的命令
用鼠標單擊“最前”按鈕將其選中,然后打開“動作”面板,在右方動作命令行中輸入:
on(release ){
gotoAndplay(_currentframe-50);
}
③ 播放
用鼠標單擊“播放”按鈕將其選中,然后打開“動作”面板,在右方動作命令行中輸入:
on(release ){
play();
}
④ 停止
on(release ) {
stop(); // 播放頭停止播放
}
⑤ 快進
on(release ){
gotoAndplay(_currentframe+50);
}
⑥ 最后
on(release ){
gotoAndStop(_root._totalframes);// 播放頭指向最后 1 幀 , 并停止
}
三.制作長度與進度顯示框
1 .添加文本顯示框
點擊“窗口”“其他面板”、“公用庫”、“按鈕”,打開“ Knobs & Faders ”文件夾里的 "Knobs & faders parts" 文件夾,找到電影剪輯“ input box ”,將其從“公用庫”中拖拽到自己的庫中,將電影剪輯改名為“長度”,再拖拽一個“ input box ”,改名為“進度”。

2 .修改文本顯示框
雙擊“庫”里的“長度”電影剪輯,選中圖層 3 ( layer 3 ),再點一下場景中的文本框,打開“屬性面板”,將“輸入文本”改為“動態文本”,將變量改為 cd ,按“字符”按鈕,彈出“字符選項”面板,選中“無字符”,點確定。


利用同樣的方法修改“進度”電影剪輯,只是變量為 jd ,其它都一樣設置。
3 .建立“文本”電影剪輯:
按下 Ctrl+F8 新建一個影片剪輯元件,起名為“文本”,分別將“長度”和“進度”兩個電影剪輯拖拽到“文本”電影剪輯的工作區里排列好,用箭頭工具點擊“長度”電影剪輯,到“屬性面板”中設置“實例名”為: changdu ,同樣方法設置“進度”電影剪輯“實例名”為: jindu 。

4 .給“文本”電影剪輯加動作:
回到場景中,新建一層,起名為“進度條”將電影剪輯“文本”從庫中拖拽到場景中的“按鈕”圖層上,再用箭頭工具在場景中點擊一下電影剪輯“文本”,在“屬性面板”中設置“實例名”為 wenben 并將下列 AS 命令復制到“動作面板”中。
// 影片時間長度計算與顯示
onClipEvent (load) {//MC 加載時動作
s1 = int(_root._totalframes/12) ;// 影片長度
fen1 = String(int( s1 / 60 )); // 算出分鐘數取整數后,轉換成字符串
miao1 = String( int(s1 % 60 ));// 算出秒數取整數夠,轉換成字符串
if (length(fen1) == 1) { // 分鐘的數字長度為 1 時
fen1 = "0"+fen1+" ” ";// 前面加零
}else{ // 否則
fen1 = fen1+"”";
}
if (length(miao1) == 1) {// 秒的數字長度為 1 時
miao1 = "0"+miao1+" ' ";// 前面加零
}else{// 否則
miao1 = miao1+"'";
} </p><p align="left"> _root.wenben.changdu.cd = fen1 + miao1;
}
// 影片時間進度計算與顯示(腳本解釋參考以上代碼)
onClipEvent (enterFrame) {// 以 MC 的幀頻不斷觸發
s2 = int(_root._currentframe/12);
fen2 = String(int( s2 / 60 ));
miao2 = String(int( s2 % 60 ));
if (length(fen2) == 1) {
fen2 = "0"+fen2+"”";
}else{
fen2 = fen2+"”";
}
if (length(miao2) == 1) {
miao2 = "0"+miao2+"'";
}else{
miao2 = miao2+"'";
}
_root.wenben.jindu.jd = fen2 + miao2;
}

四.繪制并制作控制音量與平衡的按鈕
1 .找出“音量”元件:
(提示:可以自己做也可以直接用公用庫里的,讀者可以打開源文件的庫直接拖入。)
點擊“窗口” → “其他面板” → “公用庫” → “按鈕”,打開“ Knobs & Faders ”文件夾,找到電影剪輯“ fader - mixer ”,將其從“公用庫”中拖拽到自己的庫中的“音樂”文件夾內,將電影剪輯“ fader - mixer ”改名為“音量”,再雙擊文件夾“ knob & fader parts ”名稱,改名為“音量控制”,再雙擊該文件夾圖標,打開改文件夾,將影片剪輯“ fader ”改名為“音量手柄”,將按鈕元件“ fader button ”改名為“音量按鈕”,將影片剪輯“ fader details ”改名為音量刻盤,將影片剪輯“ fader shadow ”改名為“音量陰影”。
(注意:雙擊文件夾名稱是改名,雙擊文件夾圖標是打開文件夾。另外,當從“公用庫”向“庫”拖拽影片剪輯時,要在“庫”的白色區域內釋放鼠標,不要在灰色區域內釋放。)。
2 .修改“音量”元件:
在“庫”面板中雙擊影片剪輯“音量”,用箭頭工具框選“音量手柄”和“音量刻盤”,點擊“修改”、“變形”、“逆時針旋轉 90 度”,用箭頭工具單擊影片剪輯“音量手柄”,到“屬性面板”中設置實例名: shoubing 。將手柄移動到刻盤的中心位置。 在“動作面板”中輸入一下 AS 代碼,把原來里面的腳本語句覆蓋掉。
onClipEvent (load) {// 影片剪輯加載時觸發以下代碼
chushi_kepan = _x-50; // 確定刻盤初始位置在場景中的 X 坐標值
zuo = _x-50; // 確定手柄在場景中最左邊的限值
you = _x+50; // 確定手柄在場景中最右邊的限值
ding = _y; // 確定手柄在場景中最上邊的限值
di = _y; // 確定手柄在場景中最下邊的限值
wls = new Sound();// 創建聲音播放對象 wls
wls.attachSound("wls");// 將庫中標識符為 "wls" 的聲音附加給 wls
zdyl = 100;// 確定最大音量值
dqyl = zdyl/2;// 確定當前音量值
wls.setVolume(dqyl);// 給聲音對象設置當前音量
}
onClipEvent (enterFrame) {// 與幀頻同步觸發以下代碼
// 由于刻盤長度為 100 像素,聲音限值也是 100 ,當前位置減刻盤初始位置就是當前音量值。
dqyl = Math.ceil(_root.yinliang.shoubing._x-_root.yinliang.shoubing.chushi_kepan);
wls.setVolume(dqyl);// 對聲音對象 WLS 設置當前音量
} </p><p align="left"> 再用鼠標雙擊工作區中的影片剪輯“音量手柄”,露出按鈕,給按鈕添加以下按鈕動作,把原來里面的腳本語句覆蓋掉。 </p><p align="left"> on (press) {// 鼠標按下
startDrag("", false, zuo, ding, you, di);// 在限定的區域中拖拽
} </p><p align="left"> on (release) {// 鼠標釋放
stopDrag();// 停止拖拽
}
3 .設置聲音元件:
選擇菜單中的“文件” →“導入”→“庫”,將準備好的音樂導入進來, 在“庫”中單擊聲音元件 12.MP3 ,點鼠標右鍵,彈出菜單選擇“鏈接”,彈出“鏈接屬性”對話框,將“鏈接”里的“為動作腳本導出”與“在第一幀導出”打上勾,然后在“標識符“處輸入: wls ,點“確定”。

4 .場景布置:
回到場景中,新建一層,命名為“音量大小與平衡”,將影片剪輯“音量”托拽到主場景,到“屬性面板”給影片剪輯“音量”起一個實例名: yinliang ,調整好擺放位置即可。
5 .用同樣的方法制作一個控制音量平衡的手柄,代碼如下:
onClipEvent (load) {// 影片剪輯加載時
chushi_x = _x; // 確定手柄在場景中的 X 初始坐標值
zuo = _x-50; // 確定手柄在場景中最左邊的限值
you = _x+50; // 確定手柄在場景中最右邊的限值
ding = _y; // 確定手柄在場景中最上邊的限值
di = _y; // 確定手柄在場景中最下邊的限值
wls = new Sound();// 創建聲音播放對象 wls
wls.attachSound("wls");// 將庫中標識符為 "wls" 的聲音附加給 wls
kpbs =2;// 刻盤倍數,手柄初始在刻盤中間,左右限值為 50 ,乘上刻盤倍數,可使得左右限值為 100
}
onClipEvent (enterFrame) {// 與幀頻同步觸發
// 計算當前平衡值,在 100 ,- 100 之間
dqph = Math.floor((_root.pingheng.shoubing._x-_root.pingheng.shoubing.chushi_x ) * kpbs);
wls.setPan(dqph);// 設置聲音對象 wls 的當前平衡
}
五.整合場景并測試 1.添加音樂層
將所有元件與對象擺放在合適的位置后,新建一層,命名為“音樂”,在下方“屬性”框的聲音下拉單中選中剛才導入的音樂,設置“同步”內容為“數據流”,然后延長幀直到音樂播放完為止,再延長其它層的幀與音樂層的幀數相同。
2.加上 stop 動作
為了使音樂在開始處于未播放狀態,選中音樂層第一幀,在“動作面板”中加入: stop(); 命令。
3.測試
現在按下 Ctrl+ 回車進行測試吧!怎么樣,一個漂亮的音樂迷你播放機就出來了,大家利用這種方法可以制作MTV、課件以及播放器哦!