2012-08-28 63 views
0

我有兩個視圖Flex移動應用:
viewONE具有s:list組件,因此,當用戶點擊該列表然後viewTWO調用與所選擇的項目的詳細信息中的項目:它顯示從XML文件中提取的圖像和文本 - 並且它的所有功能都非常完美,但與聲音無關。從XML文件加載聲音不起作用..所以當我做[@Embed(source="{data.sound}")]它不起作用。
有沒有辦法解決這個問題?或者我必須爲我的20個物品創建20個不同的視圖,並執行[@Embed(source="sound1.mp3")]等等?可變聲音撓曲

回答

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); 
+0

你好,非常感謝你的答覆..我明明只有學習這一點,所以我很我以前不得到它...對小菜很抱歉。我將在viewTWO上有一個PLAY按鈕,我需要該按鈕來播放與用戶從列表中選擇的項目相關的聲音(所以我不知道將會發生哪種聲音)。我給那個按鈕玩? –