2012-09-19 42 views
0

我在flex中編寫了一款遊戲,並且該遊戲有聲音。我從資產加載聲音這樣播放聲音文件,這是功能:無法在flex中播放聲音文件

public function playSound(value:String, vol:Number):void 
{ 

mySound=new Sound(); 
var urlRequest:URLRequest=new URLRequest(value); 
mySound.load(urlRequest); 
sChannel=mySound.play(0, 0, new SoundTransform(vol, 0)); 
} 

當我想打我把它稱爲這樣的聲音:

playSound("sounds/abc.mp3", 1) 

的「聽起來」在當前項目的包中。當我在eclipse中構建時,它工作的很好,但是當我將該遊戲放到網絡上時,我聽不到音樂。

誰能告訴我如何解決取悅

+0

你的意思是當你把它放在網上你*聽不到音樂? – Kevin

+0

是的,沒錯。 – user1597721

回答

0

你有沒有通過

  1. 試圖修改您的聲音文件中的聲音文件刪除所有元數據。

  2. 將其導出爲新的MP3文件。

  3. 加載是否太大?嘗試添加錯誤事件來偵聽。

0
var urlRequest:URLRequest=new URLRequest(value); 

你通過這個相對路徑,所以當它的它看起來對這種聲音在遠程機器上運行,顯然還沒找到。您需要將聲音,詳見this question

[Embed(source="myfile.mp3")] 
[Bindable] //Not required. Just an example of using multiple meta tags. 
public var soundCls:Class; 

然後,我有點生疏,但我相信這是

sChannel = new soundCls().play(0, 0, new SoundTransform(vol, 0)); 
0

剛剛嘗試這一點。

var urlReq:URLRequest = new URLRequest("assets/sound/sound3.mp3"); 
    var sound:Sound= new Sound(urlReq); 

    sound.play();