私のフラッシュプロジェクトの1つのフレームに6つのボタンがあります。ボタンをクリックすると、別の曲が再生されます。シンプル。問題は、リストの最初の曲が、誰かがボタンをクリックするのを待つのではなく、2番目のプロジェクトを再生していることです。サウンドが自動的に再生されます - フラッシュ
import fl.events.SliderEvent;
var snd:Sound;
var channel:SoundChannel;
var trans:SoundTransform;
var currSong:String;
var currVol:Number = .5;
var currPan:Number = 0;
var songList:Array=new Array("Drifting.mp3","Push.mp3",
"Stupid.mp3","Train Wreck.mp3","World on Fire.mp3","Fallen.mp3");
panSlide.visible=false;
volSlide.visible=false;
song1.addEventListener(MouseEvent.CLICK, chooseSong);
song2.addEventListener(MouseEvent.CLICK, chooseSong);
song3.addEventListener(MouseEvent.CLICK, chooseSong);
song4.addEventListener(MouseEvent.CLICK, chooseSong);
song5.addEventListener(MouseEvent.CLICK, chooseSong);
song6.addEventListener(MouseEvent.CLICK, chooseSong);
panSlide.addEventListener(SliderEvent.CHANGE, panChange);
volSlide.addEventListener(SliderEvent.CHANGE, volumeChange);
function chooseSong(e:MouseEvent):void {
switch (e.currentTarget.name) {
case "song1":
currSong = "../MP3s/"+songList[0] as String;
break;
case "song2":
currSong = "../MP3s/"+songList[1] as String;
break;
case "song3":
currSong = "../MP3s/"+songList[2] as String;
break;
case "song4":
currSong = "../MP3s/"+songList[3] as String;
break;
case "song5":
currSong = "../MP3s/"+songList[4] as String;
break;
case "song6":
currSong = "../MP3s/"+songList[5] as String;
break;
}
if (snd != null) {
channel.stop();
}
snd = new Sound();
snd.load(new URLRequest(currSong));
channel = new SoundChannel ;
trans = new SoundTransform(currVol,currPan);
channel = snd.play();
channel.soundTransform = trans;
panSlide.visible = true;
volSlide.visible = true;
}
function volumeChange(e:SliderEvent):void {
currVol = e.target.value;
trans.volume = currVol;
channel.soundTransform = trans;
}
function panChange(e:SliderEvent):void {
currPan = e.target.value;
trans.pan = e.target.value;
channel.soundTransform = trans;
}
よく分かっていますが、私はタイムラインに追加しました。それを削除しましたが、ボタンをクリックしても何も演奏されません。 – Expecto
関数で正しいサウンドURLを取得していますか?スイッチ後にtrace(currSong)。 – Mattias
私は何も得ていません - そして、トレース(currSong)を加えても何もしません。ボタンを押すと何も起こりません。 – Expecto