我有两个视图的Flex移动应用程序:
viewONE 包含s:list
组件,因此当用户点击列表中的某个项目时,会调用 viewTWO 并显示所选项目的详细信息:它会显示图片和文字从 XML 文件中提取 - 这一切都很完美,但不是声音。从XML文件加载声音不起作用..所以当我[@Embed(source="{data.sound}")]
时,它不起作用
有没有办法解决?或者我是否必须为我的20个项目创建20个不同的视图并执行[@Embed(source="sound1.mp3")]
等等?
答案 0 :(得分: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);