【问题标题】:Actionscript 3: playing sound from library with name from stringActionscript 3:从库中播放声音,名称来自字符串
【发布时间】:2010-11-11 23:21:46
【问题描述】:

我正在尝试编写一些 actionscript 3 代码来播放库中的短声音,使用动态创建的字符串来加载它。

在 AS2 中,我可以这样做:

mySound = new Sound();
mySound.attachSound("any concatenated string" + foo);

然而,在 AS3 中,标识符是一个类,其名称似乎必须是已知的。有没有一种简单的方法可以在 actionscript 3 中使用标识符作为字符串来“附加”声音?

【问题讨论】:

    标签: flash actionscript-3 audio


    【解决方案1】:

    首先,在您的库中,通过右键单击、选择属性并在“链接”部分编辑“类”字段来设置声音文件的类链接。在本例中,它将是 Class:FogHorn

     import flash.utils.getDefinitionByName;    
     var SoundClass:Class = getDefinitionByName("FogHorn") as Class;
     var newSound:Sound = new SoundClass(); 
     newSound.play()
    

    【讨论】:

    • 谢谢!这是一个有用的小功能。
    • 当然是 :),另外,我从代码中删除了 SoundChannel 导入,因为它不需要。
    【解决方案2】:

    http://www.adobe.com/livedocs/flash/9.0/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&file=00000287.html

    这是针对 CS3 的。如果您的环境不同,请在帮助中搜索“嵌入声音”部分。

    【讨论】:

    • 也许我的问题不够清楚 - 我知道如何使用该链接中描述的声音,但这仅涵盖您在编译时知道的声音类。我可以使用在运行时在串联字符串中创建的标识符从库中加载声音吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-18
    • 2010-12-09
    • 1970-01-01
    • 1970-01-01
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多