天才教育網(wǎng)合作機構 > 培訓機構 >

                                                                                        東莞設計培訓網(wǎng)

                                                                                        歡迎您!
                                                                                        朋友圈

                                                                                        全國統一學(xué)習專(zhuān)線(xiàn) 9:00-21:00

                                                                                        位置:培訓資訊 > Flash中音量和左右聲道平衡的控制

                                                                                        Flash中音量和左右聲道平衡的控制

                                                                                        日期:2005-12-24 00:00:00     瀏覽:421    來(lái)源:東莞設計培訓網(wǎng)

                                                                                          我們看到在網(wǎng)上有許多用Flash制作的MTV作品,做MTV最重要的一個(gè)元素當然是從外部導入的音樂(lè )文件,今天我們著(zhù)重說(shuō)說(shuō)最常見(jiàn)的聲音控制:包括聲音的開(kāi)始和停止、控制音量、控制左右聲道平衡等。

                                                                                          有關(guān)Flash中聲音的控制語(yǔ)句請參考《Flash音頻使用詳解:聲音函數》。

                                                                                          這里主要使用了以下聲音控制語(yǔ)句:
                                                                                        mysound=new Sound(target);
                                                                                        mysound.attachSound("idname");
                                                                                        mysound.start(secondOffet,loop);
                                                                                        sound.setVolume(volume);
                                                                                        sound.setPan(pan);


                                                                                          示例效果如下:

                                                                                          一、音樂(lè )的播放和停止

                                                                                          (1)首先從外部導入一個(gè)音樂(lè ),也就是用File>Import導入?;蛑苯訌腤indow>Common Libraie>Sounds中拖一個(gè)到舞臺上。

                                                                                          (2)然后選擇Window>Library。從中選中你剛導入的音樂(lè ),并按鼠標右鍵,選中其中的Linkage,如下圖:


                                                                                          (3)在跳出的Symbol Linkage Properties對話(huà)框中,在Linkage中選Export this symbol,在identifier中輸入你想要取的音樂(lè )名字,如"likesound"。如果你用的是flash mx,則選擇Export for ActionScript。如下圖:




                                                                                          (4)接著(zhù)從庫中選擇兩個(gè)按鈕,并放在舞臺上,如下圖:


                                                                                          (5)在*個(gè)開(kāi)始按鈕上捆綁如下代碼:

                                                                                        on (release) {
                                                                                          s=new Sound();
                                                                                          s.attachSound("likesound");
                                                                                          s.start(0,6);
                                                                                        }

                                                                                          (6)在第二個(gè)停止按鈕上捆綁如下代碼:

                                                                                        on (release) {
                                                                                          s.stop()
                                                                                        }

                                                                                          代碼說(shuō)明:其中s=new Sound()是創(chuàng )建一個(gè)聲音對象,用法是mysound=new Sound(target);,target是你希望聲音創(chuàng )建到哪個(gè)電影剪輯中,默認的是創(chuàng )建在主Timeline中。

                                                                                          第二句mysound.attachSound("idname")的作用是指定Library中聲音的調用,idname就是剛才我們在Symbol Linkage Properties中取的名字。

                                                                                          要使聲音開(kāi)始播放還要用第三句mysound.start(secondOffet,loop);其中secondOffet,就是指定聲音從第幾秒開(kāi)始播放,Loop就是播放后的循環(huán)次數。*s.stop()就是停止音樂(lè )播放。你也可在括號中指定要停止播放的音樂(lè )的idname,在這里就不需要了。

                                                                                          上面實(shí)現了對音樂(lè )的播放和停止控制,接著(zhù)我們看看實(shí)現如何來(lái)控制音量。

                                                                                          二、音量的控制

                                                                                          (6)從庫中選一個(gè)按鈕放在舞臺上,把這個(gè)按鈕轉換成MovieClip。這樣做的目的是能把這個(gè)按鈕既可以接受電影事件也能接受按鈕事件,如下圖:



                                                                                          (7)在這個(gè)按鈕的電影剪輯上加入以下代碼
                                                                                          onClipEvent (load) {
                                                                                            top = _y;
                                                                                            left = _x;
                                                                                            right = _x;
                                                                                            bottom = _y+100;
                                                                                          }
                                                                                          onClipEvent (enterFrame) {
                                                                                            if (dragging=true) {
                                                                                              _root.s.setVolume(100-(_y-top));
                                                                                            }
                                                                                          }

                                                                                          (8)通過(guò)雙擊這個(gè)電影剪輯,或通過(guò)選中這個(gè)電影后再選Edit>Edit Symbol,進(jìn)入該電影剪輯的編輯狀態(tài),選中按鈕本身,在這個(gè)按鈕上捆綁以下代碼

                                                                                          on (press) {
                                                                                            startDrag ("", false, left, top, right, bottom);
                                                                                            dragging = true;
                                                                                          }
                                                                                          on (release) {
                                                                                            stopDrag ();
                                                                                            dragging = false;
                                                                                          }

                                                                                          代碼解釋?zhuān)?/STRONG>首先是在電影上的Load事件下,這里做的是初始化的工作,這里的left和right是同一個(gè)值,它的作用是使按鈕只能在上下被拖動(dòng),不能左右移動(dòng)。而bottom是比top多了100,這樣按鈕只能被向下拖動(dòng)100個(gè)像素的位置。

                                                                                          然后在enterFrame事件中,是一個(gè)判斷語(yǔ)句,dragging=true就是按鈕正在被拖動(dòng),它是被設置在下面的按鈕里的,當按鈕在拖動(dòng)時(shí),draggin=true;當stopDrag()時(shí),dragging=false。如果判斷是true時(shí)執行root.s.setVolume(100-(_y-top));這個(gè)語(yǔ)句的作用是當按鈕在被拖動(dòng)時(shí),根據此時(shí)按鈕的_y位置,來(lái)設置音量。

                                                                                          這里用到了sound.setVolume(volume)這個(gè)新的語(yǔ)句,sound是你是你建件的new sound()的名稱(chēng),我們這里是s,volume是一個(gè)從0-100的數字,0為聲音最小,100為*。

                                                                                          現在你知道為什么一開(kāi)始就用bottom=_y+100吧?看看100-(_y-top)在原始狀態(tài)下是100,但只要隨著(zhù)按鈕的拖動(dòng),_y越來(lái)越大,而top是一個(gè)固定的初始值。兩者的差越來(lái)越大,這樣整個(gè)值就越來(lái)越小,*至0,取值范圍在0-100間。

                                                                                          下面接著(zhù)來(lái)做調節聲音的平衡。

                                                                                          三、調節聲音的平衡

                                                                                          (9)從庫中選一個(gè)按鈕放在舞臺上,把這個(gè)按鈕轉換成MovieClip。這樣做的目的是能把這個(gè)按鈕既可以接受電影事件也能接受按鈕事件。(此例是最下的那個(gè)按鈕,既橫向的那個(gè))做好后如下圖:


                                                                                          (10)在這個(gè)按鈕的電影剪輯上加入以下代碼

                                                                                          onClipEvent (load) {
                                                                                            top = _y;
                                                                                            bottom = _y;
                                                                                            left = _x-50;
                                                                                            right = _x+50;
                                                                                            center = _x;
                                                                                          }
                                                                                          onClipEvent (enterFrame) {
                                                                                            if (dragging=true) {
                                                                                              _root.s.setPan((_x-center)*2);
                                                                                            }
                                                                                          }

                                                                                          (11)通過(guò)雙擊這個(gè)電影剪輯,或通過(guò)選中這個(gè)電影后再選Edit>Edit Symbol,進(jìn)入該電影剪輯地編輯狀態(tài),選中按鈕本身,在這個(gè)按鈕上捆綁以下代碼(和上次的操作完全相同)。

                                                                                          on (press) {
                                                                                            startDrag ("", false, left, top, right, bottom);
                                                                                            dragging = true;
                                                                                          }
                                                                                          on (release) {
                                                                                            stopDrag ();
                                                                                            dragging = false;
                                                                                          }

                                                                                          代碼解釋?zhuān)?/STRONG>在enterFrame事件中,是一個(gè)判斷語(yǔ)句,dragging=true就是按鈕正在被拖動(dòng),它是被設置在下面的按鈕里的,當按鈕在拖動(dòng)時(shí),draggin=true,但當stopDrag()時(shí),dragging=false。如果判斷是true時(shí)執行_root.s.setPan((_x-center)*2);這個(gè)語(yǔ)句的作用是當按鈕在被拖動(dòng)時(shí),根據此時(shí)按鈕的_x位置,來(lái)設置音量。

                                                                                          這里用到了sound.setPan(pan)這個(gè)新的語(yǔ)句,sound是你是你建件的new sound()的名稱(chēng),我們這里是s,pan是一個(gè)從-100至100的數字,0為聲音在兩個(gè)聲道均衡分配,100為右聲道*,-100為左聲道*。至于里面的(_x-center)*2是一個(gè)從-100至100之間變化的變量,它的原理是根據_x坐標的變化而變化,相信大家一看就會(huì )明白。原文件下載學(xué)習

                                                                                        如果本頁(yè)不是您要找的課程,您也可以百度查找一下:

                                                                                        奇米在线7777在线精品|国产成人精品免费视|精品无码不卡一区二区三区|国内综合精品午夜久久资源|亚洲视频在线观看..