0

这似乎很简单,但我就是无法破解它。

目前,在下面的代码中。它是一个 UILoader,带有一系列水平穿过 FLA 底部的缩略图 mc。单击拇指并在 UI 中加载新的 SWF 时。

我只是在寻找我的方式的错误,希望通过简单地添加到此代码和可能的解释。我需要弄清楚如何在退出和新的 mp3 声音文件时播放/停止。

UILoader 带有用于缩略图加载的movieClips

var imagesXML:XML;
var xmlLoader: URLLoader = new URLLoader();
xmlLoader.load(new URLRequest("lessons/images/Images5.xml"));

/////////////////////////////////////////////////////////////
////////////    thumbnail loader    /////////////////////////

function xmlLoaded(evt:Event):void
{
    imagesXML = new XML(xmlloader.data);
    var thumbLoader:UILoader;
    for(var i:uint = 0; i < imagesXML.image.length(); i++)
        {
            thumbLoader UILoader(getChildByName("thumb" + 1));
            thumbLoader.load(new URLRequest("lessons/images/thumbs/" + imagesXML.image[i].@file));
            thumbLoader.buttonmode = true;
            thumbLoader.addEventListener(MouseEvent.CLICK, thumbClicked);
            var fullPath:String = "lessons/images/file-1.swf";
            mainLoader.load(new URLRequest(fullpath));
        }
}



/////////////////////////////////////////////////////////////
////////////////   load Images  /////////////////////////////

function thumbClicked(evt:MouseEvent):void
{
        var thumbName:String = evt.currentTarget.name;
        var thumbIndex:uint = uint(thumbName.substr(5));
        var fullPath:String = "lessons/images/" + imagesXML. image[thumbIndex].@file;
        mainLoader.load(new URLRequest(fullPath));
}
4

2 回答 2

0

Declare sound object outside of functions so it is available to all functions

var mySound:Sound;
var myChannel:SoundChannel; 

function thumbClicked(evt:MouseEvent):void
{
        var thumbName:String = evt.currentTarget.name;
        var thumbIndex:uint = uint(thumbName.substr(5));
        var fullPath:String = "lessons/images/" + imagesXML. image[thumbIndex].@file;
        mainLoader.load(new URLRequest(fullPath));

        //stop any already playing sound
        if ( myChannel != null) { myChannel.stop(); } 

        //load an MP3 file
        mySound = new Sound();  mychannel = new SoundChannel();
        mySound.load(new URLRequest("myAudio.mp3"));
        mySound.play();

}
于 2015-11-19T09:22:50.237 回答
0

你可以尝试使用这个库https://github.com/treefortress/SoundAS 或尝试谷歌“as3 的声音管理器”,我相信你会找到你喜欢的库

于 2015-11-19T08:41:18.213 回答