升級 ActionScript 3.0 的理由 – 真實的音樂等化器 (SoundChannel)

如何在Flash中做出一個音樂等化器算是一個被問到爛的問題,然而很遺憾的,在ActionScript 1.0 ~ 2.0中是個無解的難題,以往大家都是隨便的製作一個等化器的動畫假裝一下,但是實質上卻跟音樂本身完全沒有關係。

Flash是一個非常適合用來表現多媒體的呈現平台,使用者可以在不用安裝任何其他外掛插件(Plug-in)的狀況下就享受影音播放的高級體驗,這讓互動程式推向了另一個層次,代表你將可以利用ActionScript 3.0來控制影音,並可以使用影音產生各樣各式的應用,例如可以完成互動電影、影音展示、線上音樂放送等有趣的專案。

Flash使用的音樂檔案是目前最熱門的mp3音樂檔,ActionScript 3.0在音樂的支援上又比以往的版本要來得強上許多,你可以用各種控制的方法來播放或停止音樂,也可以控制音量與左右聲道,顯示MP3中的ID3資訊,甚至還能做出各式各樣的等化器視覺效果,讓音樂在視覺的呈現上顯得更活潑有趣,這也是在ActionScript 3.0中所新增加的 SoundChannel 類別所帶來的驚喜,全新的音樂控制方法將擁有更多元化的功能。

想體驗真實的左右聲道振幅效果嗎?你可以點擊播放下方的 Flash 檔案,記得喇叭要打開喔,眼尖的你應該可以發現隨著音樂的大小聲,將會擁有不同長度的振幅表示。

本影片節錄自[Flash CS3 Professional ActionScript 3.0 打造互動設計力與美 ]一書中的第10章(強力影音特效運用)之範例10-3。

本篇發表於 ActionScript 與標籤於 anistar固定網址書籤。
本文引用:
文章內容為ANISTAR BLOG所有,引用分享請以鏈結形式註明出處與原始作者。

關於 anistar

現任:台灣區 Yahoo! 專長: Objective C、iOS SDK、Android SDK、Flex 4、RIA、ActrionScript 3、HTML5、CSS3、JQuery、JQuery Mobile、C++、PHP、MySQL...等整合運用。 著作:《Run!PC雜誌》專欄作家、《CADesigner雜誌》專欄作家、《Flash CS3 Professional ActionScript 3.0 打造互動設計力與美》、《新一代互動體驗Flex+AIR程式開發》。 認證:Macromedia Certified Instructor in ColdFusion    Adobe Certified Expert in Photoshop    Adobe Certified Instructor in Flex

6 則迴響於《升級 ActionScript 3.0 的理由 – 真實的音樂等化器 (SoundChannel)

  1. Dear R929:

    因為這個問題過大,無法三兩語說完,提供一個方向讓你去解決這個問題。

    千萬別用while寫個無窮迴圈卡住程式,因為這會造成整個系統因為耗掉運算而崩潰,當然用事件絕對是正解,你可以考慮用Alert類別來完成這項任務,若是對Alert不滿意也可以用物件導向寫一個專門在處理終止的類別,請探鬆散式架構設計模式,對你會比較有幫助。

  2. Dear Edward:

    Flash的內容其實是可以被搜尋到的,但是我不能說他可以全部的內容都被搜尋出來,Flash為了這個問題,可以在生成SWF的時候順便產生keyword和description,不過這仍然筆不上傳統的HTML,因為畢竟搜尋引擎當初的設計就是為了HTML而存在,這是不可抹滅的事實。

    難道這是Flash的宿命嗎?錯,這個誤解可大了,這應該是所有RIA應用程式的宿命,因為不論是Flash,Ajax,Silverlight都好,都是想要在不換頁的狀況下去交換資料,然而搜尋引擎可沒有人這們聰明,他不會去操作RIA系統,自然會得知資料庫存入的什麼資料了。

    我一直再強調一件事情,RIA並不是世界的全部,它提供了更棒的使用者體驗和操作的感受,它是為了滿足客戶而存在的產物,並不是拿來滿足公司的,當然公司的收入還是從客戶的滿足中所得到的,建議你依照任務的不同使用適當的技術,Flash很棒,但是他還是需要跟HTML這些東西搭配,才會有整體平衡表現,缺一不可。

  3. 老師,不好意思,我也要問個小問題,

    最近我開始用as3做些小遊戲,於遊戲中常需用到跳出確認視窗,
    因此想把跳出視窗寫成一個靜態的類別方法,
    以便在AS3中達到像js一樣可以直接用 if(confirm(msg)) 一樣來直接判斷,
    但一直無法達成,卡在AS3好像沒辦法停下來等待使用者按下確定或取消,
    試過用while的無限迴圈等待按鈕被按下,但不行,會進入沒有回應的狀態。

    目前暫時的解決方法是用傳回事件的方法解決,
    但這樣在要使用的地方還要先實作confirm物件,
    然後於confirm物件上加入監聽式,但這樣用起來很不方便。

    請問各位老師有沒有什麼理想的解決方法可以教一下小弟嗎?
    謝謝~~

  4. 老師
    我又來問問題了
    一直以來有個疑惑希望老師幫我解答一下

    以 Flash 製作的網站固然在視覺方面可以達到不錯的效果
    但是最近工作上老闆一直問我
    “為啥我們的網站在搜尋引擎排名上很低!!??”

    對於 Flash 來說
    它裡面的內容不能被搜尋引擎自動找到
    其他某一些特性好像也不利於提高搜尋引擎的排名

    這是否是無法解決的問題呢??
    還是有比較好的方式去改善??
    謝謝

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *