Flash 加载和播放多个.mp3文件

Flash 加载和播放多个.mp3文件,flash,actionscript-3,Flash,Actionscript 3,我正在尝试设置一个.flv文件,该文件将包含两个不同声音的按钮。 我已经能够让第一块加载,播放和停止,但当我试图加载第二块时,我绊倒了。 我还是个新手,但我想我理解基本问题——Actionscript无法区分声音请求和其他声音请求。问题是,如何解决这个问题并让actionscript理解我正在尝试加载和播放与两个不同按钮相关的两种不同声音? 我得到了错误代码,如“1151:名称空间内部的定义s存在冲突”,“重复函数”问题和“重复变量”警告。 我在这个网站上看到一些关于可回收声音物体的讨论。我想我

我正在尝试设置一个.flv文件,该文件将包含两个不同声音的按钮。 我已经能够让第一块加载,播放和停止,但当我试图加载第二块时,我绊倒了。 我还是个新手,但我想我理解基本问题——Actionscript无法区分声音请求和其他声音请求。问题是,如何解决这个问题并让actionscript理解我正在尝试加载和播放与两个不同按钮相关的两种不同声音? 我得到了错误代码,如“1151:名称空间内部的定义s存在冲突”,“重复函数”问题和“重复变量”警告。 我在这个网站上看到一些关于可回收声音物体的讨论。我想我问的是一个类似的问题,但尽管提出这个问题的人也发布了一个解决方案,我还是没能让它起作用。 代码如下:

var s:Sound = new Sound();
s.load(new URLRequest("http://www.website.com/Water.mp3"));

wellsplay_btn.addEventListener(MouseEvent.CLICK,playSound);
wellsstop_btn.addEventListener(MouseEvent.CLICK,stopSound);

function playSound(e:MouseEvent):void
{
sc = s.play();
}

function stopSound(e:MouseEvent):void
{
sc.stop();
}

var s:Sound = new Sound();
 s.load(new URLRequest("http://www.website.com/Wells.mp3"));

wellsplay_btn.addEventListener(MouseEvent.CLICK,playSound);
wellsstop_btn.addEventListener(MouseEvent.CLICK,stopSound);

function playSound(e:MouseEvent):void
{
sc = s.play();
}

function stopSound(e:MouseEvent):void
{
sc.stop();
}

其余命令工作正常。只有这一部分我遇到了麻烦。提前感谢您的建议

这是因为您两次声明变量
var s:Sound
,请使用不同的名称。

这是因为您两次声明变量
var s:Sound
,请使用不同的名称。

下面是您给Tyler Egeto留下的评论,为声音实例指定新名称意味着执行以下操作

 //The variables names are s1 & s2
 var s1:Sound = new Sound();
 var s2:Sound = new Sound();
变量名之后的第一个“声音”是类名。AS3是一种强类型语言,意味着您需要声明所声明变量的类型。在本例中,它是Sound类的一个实例

为了播放(或停止)特定的声音实例,您需要确定单击了哪个按钮并做出相应的反应

 function playSound(e:MouseEvent):void
 {
     switch( e.currentTarget )
     {
          case wellsplay_btn:
           sc = s1.play();
           break;

          case waterplay_btn:
           sc = s2.play();
           break;
     }

 }

在你给Tyler Egeto留下的评论之后,给一个声音实例起一个新名字意味着要做以下事情

 //The variables names are s1 & s2
 var s1:Sound = new Sound();
 var s2:Sound = new Sound();
变量名之后的第一个“声音”是类名。AS3是一种强类型语言,意味着您需要声明所声明变量的类型。在本例中,它是Sound类的一个实例

为了播放(或停止)特定的声音实例,您需要确定单击了哪个按钮并做出相应的反应

 function playSound(e:MouseEvent):void
 {
     switch( e.currentTarget )
     {
          case wellsplay_btn:
           sc = s1.play();
           break;

          case waterplay_btn:
           sc = s2.play();
           break;
     }

 }

是的,我试过:var sc:SoundChannel=newsoundchannel();var s:Sound1=新声音();s、 加载(新URL请求(“);wavesplay_btn.addEventListener(MouseEvent.CLICK,playSound1);wavesstop_btn.addEventListener(MouseEvent.CLICK,stopSound1);函数playSound1(e:MouseEvent):void{sc.stop();}变量s1:Sound=new Sound();变量s2:Sound=new Sound();应该是OK是的,我试过:var sc:SoundChannel=new SoundChannel();var s:Sound1=new Sound();s.load(new URLRequest(“);wavesplay_btn.addEventListener(鼠标事件点击,播放声音1);wavesstop_btn.addEventListener(鼠标事件单击,停止声音1);函数playSound1(e:MouseEvent):void{sc=s.play();}函数stopSound1(e:MouseEvent):void{sc.stop();}var s1:Sound=new Sound();变量s2:声音=新声音();应该可以,我已经和Actionscript较劲了一段时间了。这很清楚。谢谢。我经常在AdobeTV上推荐科林·穆克的《迷失的动作脚本》周末视频系列。非常轻松地介绍AS3,但也非常完整的概述。谢谢。我本来想征求大家的建议的。我已经和Actionscript争论了一段时间了。这很清楚。谢谢。我经常在AdobeTV上推荐科林·穆克的《迷失的动作脚本》周末视频系列。非常轻松地介绍AS3,但也非常完整的概述。谢谢。我想征求一些建议。