2010-04-23 70 views
7

在Flash 10/AS3中,我添加了一些聲音,它似乎工作正常,但我認爲我做錯了。我將聲音導入庫中,但我相信它是用swf/sound從文件夾中重新加載的。我正在加載他們像這樣:如何從AS3庫中播放聲音?

var request1:URLRequest = new URLRequest("CLICK8C.mp3"); 
clickSound = new Sound(); 
clickSound.addEventListener(Event.COMPLETE, completeHandler); 
clickSound.load(request1); 

有沒有辦法讓它只從圖書館加載它?

回答

11

您需要使庫中的聲音可用​​於actionscript。之後,您可以像其他任何類一樣實施聲音對象。

要使一個庫對象可用於動作,請左鍵單擊庫中的項並選擇「鏈接」。選中「導出爲ActionScript」旁邊的複選框。您需要爲該對象提供一個類名稱,並且由於您正在處理聲音,請確保該基類是一個Sound對象。

比方說,你叫你聲類「爲mySound」,您現在可以通過這樣的動作訪問這個對象(包含從問題的代碼):

var mysound:MySound = new MySound(); 
mysound.addEventListener(Event.COMPLETE, completeHandler); 
mysound.play(); 

注:如果您想進一步控制聲音(stop,rew等),你需要創建一個SoundChannel對象。 (參見下面的文檔)

Adobe Sound Object Documentation

+1

謝謝,我想我可能已經忘記了那樣的事情。我已經有SoundChannel和東西。 :) – Ullallulloo 2010-04-24 12:12:28

1

頂端回答已經設法獲得一些代碼不正確的。

這是一個更簡單的版本。

var mysound:Sound = new (mySound); 
mysound.play(); 

}

只要改變你的內部聲音文件的類名來爲mySound。