[英]AS3 Code - Sound not playing
我正在嘗試使用外部mp3文件以as3代碼播放聲音。
所以這是我正在使用的代碼:
private function playSound():void
{
trace("loading sound");
var mySound:Sound = new Sound();
mySound.addEventListener(IOErrorEvent.IO_ERROR, handleIOError);
mySound.load(new URLRequest("Menu.mp3"));
mySound.play();
trace("playing sound");
}
private function handleIOError(evt:IOErrorEvent):void
{
//handle error if needed
}
音樂根本不播放。
出現痕跡“加載聲音”和“播放聲音”,因此正在運行代碼。
mp3文件Menu.mp3與用於運行項目的.fla文件位於同一文件夾中。 這是正確的目錄嗎? 我嘗試過移動它,但是仍然無法播放聲音。
任何幫助將不勝感激,謝謝!
我有一些建議可能會有所幫助:
將mySound聲明為類級別的屬性。 垃圾收集器可能是過早處理的,因為它是局部的。
mySound.play()返回一個SoundChannel對象。 嘗試將其存儲在類級別的屬性中。
在加載聲音之前,將事件偵聽器添加到Event.COMPLETE的聲音中。 發生此事件后,嘗試播放聲音。 實際上,您可能正在嘗試在聲音加載之前播放聲音。
private var mySound:Sound; private var mySoundChannel:SoundChannel; private function playSound():void { mySound = new Sound(); mySound.addEventListener(IOErrorEvent.IO_ERROR, handleIOError); mySound.addEventListener(Event.COMPLETE, handleLoadCompletion); mySound.load(new URLRequest("Menu.mp3")); } private function handleLoadCompletion(evt:Event):void { mySoundChannel = mySound.play(); } private function handleIOError(evt:IOErrorEvent):void { //handle error if needed }
編輯:
在審查了文檔之后 ,我認為建議3是不必要的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.