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