如何使用组合框[AS3]播放声音并停止声音?

时间:2016-10-25 12:21:54

标签: actionscript-3

在此代码中,所有声音都在一起播放。

我想在sound1播放时,sound2停止播放。当sound2开始播放时,sound1停止播放。

stop();

import flash.events.Event;
import flash.media.Sound;



var mysound1:MYSf = new MYSf
var mysound2:sounda = new sounda

combobox.addItem( { label: "sound1" } );
combobox.addItem( { label: "sound2" } );


combobox.addEventListener(Event.CHANGE, myq);

function myq (e:Event):void
{
    if (combobox.selectedItem.label == "sound1")
    {
        mysound1.play();
        mysound2.stop();
    }
    if (combobox.selectedItem.label == "sound2")
    {
        mysound2.play();
        mysound1.stop();

    }


}

2 个答案:

答案 0 :(得分:0)

您是否尝试过以下代码?

function myq (e:Event):void
{
    mysound1.stop();
    mysound2.stop();
    if (combobox.selectedItem.label == "sound1")
    {
        mysound1.play();

    }
    if (combobox.selectedItem.label == "sound2")
    {
        mysound2.play();
    }
}

答案 1 :(得分:0)

您无法使用Sound课程停止播放声音。 Sound类没有stop方法。相反,您需要使用SoundChannel类来停止播放声音。

从Adobe API文档(here):

  

必须将声音对象分配给SoundChannel对象才能使用SoundChannel的stop()方法暂停声音。