Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Actionscript 3 Flash Actionscript 3中的音乐重叠_Actionscript 3_Flash_Flash Cs5 - Fatal编程技术网

Actionscript 3 Flash Actionscript 3中的音乐重叠

Actionscript 3 Flash Actionscript 3中的音乐重叠,actionscript-3,flash,flash-cs5,Actionscript 3,Flash,Flash Cs5,我是AS3的新手,我正在建立一个完整的flash网站,在那里我尝试使用播放、暂停和停止按钮(播放和暂停是同一个按钮)包含背景音乐。问题是,当页面加载时,音乐播放器会自动播放,当我单击网站的“主页”按钮时,音乐会再次播放,并与第一次播放的音乐重叠,那么我该怎么做呢..提前感谢 stop(); function goHome (e:MouseEvent):void{ gotoAndStop("HOME"); } home_btn.addEventListener(MouseEvent.CLICK,

我是AS3的新手,我正在建立一个完整的flash网站,在那里我尝试使用播放、暂停和停止按钮(播放和暂停是同一个按钮)包含背景音乐。问题是,当页面加载时,音乐播放器会自动播放,当我单击网站的“主页”按钮时,音乐会再次播放,并与第一次播放的音乐重叠,那么我该怎么做呢..提前感谢

stop();

function goHome (e:MouseEvent):void{
gotoAndStop("HOME");
}
home_btn.addEventListener(MouseEvent.CLICK, goHome);

function goAbout (e:MouseEvent):void{
gotoAndStop("COMPANY");
}
company_btn.addEventListener(MouseEvent.CLICK, goAbout);

function goTestimony (e:MouseEvent):void{
gotoAndStop("TESTIMONY");
}
news_btn.addEventListener(MouseEvent.CLICK, goTestimony);

function goProduct (e:MouseEvent):void{
gotoAndStop("PRODUCT");
}
product_btn.addEventListener(MouseEvent.CLICK, goProduct);

function goContact (e:MouseEvent):void{
gotoAndStop("CONTACT");
}
contacts_btn.addEventListener(MouseEvent.CLICK, goContact);

//imports the necessary as events
import flash.events.Event
import flash.events.MouseEvent;

var isPlaying:Boolean = new Boolean();
var pausePosition:Number = new Number();

//Create an instance of the Sound class
var soundClip:Sound = new Sound();
//Create a new SoundChannel Object
var sndChannel:SoundChannel = new SoundChannel();

//Load sound using URLRequest
soundClip.load(new URLRequest("thousandyears.mp3"));

//Create an event listener that wll update once sound has finished loading
soundClip.addEventListener(Event.COMPLETE, onComplete, false, 0, true);

controller.addEventListener(MouseEvent.MOUSE_DOWN, btnPressController, false, 0, true);
stop_btn.addEventListener(MouseEvent.MOUSE_DOWN, btnPressStop, false, 0, true);

function onComplete(evt:Event):void {
    //Play loaded sound
    sndChannel = soundClip.play();
    isPlaying = true;
}

function btnPressController(evt:MouseEvent):void
{
    switch(isPlaying)
    {
        case true:
            controller.gotoAndStop(2);
            pausePosition = sndChannel.position; 
            sndChannel.stop();
            isPlaying = false;
        break;
        case false:
            controller.gotoAndStop(1);
            sndChannel = soundClip.play(pausePosition);
            isPlaying = true;
        break;
    }
}

function btnPressStop(evt:MouseEvent):void
{
    pausePosition = 0;
    sndChannel.stop();
    controller.gotoAndStop(2);
    isPlaying = false;
}

这是第1帧中的代码吗? 第1帧是否标记为“主页”

如果是这样,我会在时间线的开头添加一个新的帧(新帧1),并将代码移到其中。这样,代码仍将在第1帧中,“HOME”帧将在第2帧中,依此类推

您需要稍微更新代码:


stop()
替换为
gotoAndStop('HOME')

它位于actionscript的第2帧中,第1帧用于加载脚本。我试着将代码移动到第一帧,它工作了,音乐没有重叠,但问题是我无法使用播放/停止按钮,因为播放/停止按钮从第2帧开始。嗨,它现在工作了。我已将脚本移到第一帧,并将按钮帧扩展到第一帧。感谢您的帮助如果它对您有效,请接受答案?