2013-01-17 30 views
0

嵌入的聲音在我的瑞士法郎..as3嵌入聲音無法轉換爲類型Class?

[Embed(source='/audio/files/sp_worm.mp3')] 
private var sf_warp_finish:Class; 

的閱讀在這裏:

var sndClass:Class; 
if (soundId == "sf_warp_finish") sndClass = new sf_warp_finish(); 

和我收到此錯誤:

Type Coercion failed: cannot convert [email protected] to Class. 

不知道爲什麼,這不是工作 - 任何想法?

回答

2

sf_warp_finish實際上是嵌入數據的類;當你調用new()時,你實例化它,現在你有一個對象(不是一個Class對象)。

查看http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/mx/core/SoundAsset.html 爲例。

+0

當我將其更改爲sndClass = sf_warp_finish我似乎無法將其轉換爲聲音對象播放聲音?我錯過了什麼? – Lagoo87

+0

@ Lagoo87是的,我注意到一個類似的問題:我有可用的MP3不播放。它可能是像[這個其他問題](http://stackoverflow.com/questions/8807462/embedded-mp3-in-actionscript3-wont-play-all-the-way-through)的情況?我的速度是128 kbps,並有一個嵌入式圖像。 – Luis

+0

啊,這很有道理 - 謝謝@Luis! 我沒有對它進行測試,而是將我的音頻文件編譯成.swc格式並通過它進行訪問。 – Lagoo87

0

它應該工作:

var snd:Sound; 
if (soundId == "sf_warp_finish") snd = new sf_warp_finish() as Sound; 
if (snd) 
    snd.play(); 
相關問題