1

私は 13 の異なる音楽ファイルを持つフラッシュ プロジェクトに取り組んでいます。ユーザーが対応するボタンをクリックして、再生中の曲を選択できるようにしたいと考えています。ユーザーが 13 個のボタンのいずれかをクリックすると、現在の曲を停止し、新しい曲を最初から再生して、音が重ならないようにしたいと考えています。

ムービーをテストすると、最初は一部のボタンが他の音楽を停止することがわかりましたが、一部のボタンは停止せず、現在の音楽の上に新しい音楽が再生されます (各ボタンのコードは、ある場所を除いて同一であると確信しています)。インスタンス名) 最初は機能するボタンが、数回クリックすると機能しなくなります。ボタンは、すでに再生中の音楽を停止することを除いて、私が必要とするすべてのことを行います.

チュートリアルを使用して、ActionScript コードを使用してライブラリからサウンド ファイルを再生および制御する方法を学習しましたが、私のコードはサウンド ファイルを停止するのに適切に機能しません。これがなぜなのかわからないので、ここにいくつかのコードを投稿します。13 個の異なるボタンがあるため、かなり多くのコードがあるため、1 つのボタンのコードのみを投稿します。残りのボタンのコードは同じですが、番号の接尾辞が各ボタンに固有になるように変更されています。すべてのコードは、同じシンボルのフレーム 1 にあります。

var music1Play:Music1 = new Music1();

var music1Channel:SoundChannel = new SoundChannel();

btnPiece1.addEventListener(MouseEvent.CLICK, playMusic1);

function playMusic1(e:MouseEvent):void

{
     music2Channel.stop();
     music3Channel.stop();
     music4Channel.stop();
     music5Channel.stop();
     music6Channel.stop();
     music7Channel.stop();
     music8Channel.stop();
     music9Channel.stop();
     music10Channel.stop();
     music11Channel.stop();
     music12Channel.stop();
     music13Channel.stop();

     btnPiece1.mouseEnabled = false;    /*Disables button to avoid double click*/
     btnPiece1.mouseChildren = false;

     btnPiece2.mouseEnabled = true;    /*Enables the other buttons*/
     btnPiece3.mouseEnabled = true;
     btnPiece4.mouseEnabled = true;
     btnPiece5.mouseEnabled = true;
     btnPiece6.mouseEnabled = true;
     btnPiece7.mouseEnabled = true;
     btnPiece8.mouseEnabled = true;
     btnPiece9.mouseEnabled = true;
     btnPiece10.mouseEnabled = true;
     btnPiece11.mouseEnabled = true;
     btnPiece12.mouseEnabled = true;
     btnPiece13.mouseEnabled = true;

     music1Channel = music1Play.play(); 

     music1Channel.addEventListener(Event.SOUND_COMPLETE, loopMusic1);
}   

function loopMusic1(e:Event):void

{
     music1Channel = music1Play.play(); 
     music1Channel.addEventListener(Event.SOUND_COMPLETE, loopMusic1);
}

コードの何が問題なのかをお知らせいただくか、使用できる別の方法を提案してください。

ありがとうございました、

クリス

4

1 に答える 1