2013-01-17 36 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(); 
相关问题