0

我有带有两个视图的 Flex 移动应用程序:
viewONE具有s:list组件,因此当用户单击列表上的一个项目时,会调用viewTWO并包含所选项目的详细信息:它显示从XML文件中提取的图像和文本 - 这一切都很完美但是没有声音。从 XML 文件加载声音不起作用..所以当我这样做时[@Embed(source="{data.sound}")]它不起作用。
有没有办法解决?还是我必须为我的 20 个项目创建 20 个不同的视图[@Embed(source="sound1.mp3")]等等?

4

1 回答 1

0

你的想法是错误的。使用类(或单例)播放声音。还将所有声音嵌入该类中。

例如:

class MySoundManager
{

    [Embed(.....)]
    public static var SOUND_1:Class;

    [Embed(.....)]
    public static var SOUND_2:Class;

    //  ... sound 3 and so on

    // use static variables
    private static var soundCh:SoundChannel /// ....


    public static function playSound(theSound:Class):void
    {
         //here put the logic for stopping any running sound and start playing "theSound"
    }
}

用法:

// in any of your views, for ex for playing 1st sound
MySoundManager.playSound(MySoundManager.SOUND_1);
于 2012-08-28T11:38:10.897 回答