2012-04-10 15 views
0

Flashの音に問題があります。私のコードのほとんどがフレーム上にあるので、私は間違った方法でコーディングすることに行きました。複数回同時に音が再生される

だから、私は、これらの二つの変数

var outsideDay:Sound = new daysong(); 
var outsideNight:Sound = new nightsong(); 

を持っていると私は、特定のフレームにこれらの曲を再生したいです。しかし、その音は一度に50回のように散発的に再生されます。私はそれがEnter_Frame関数でフレームにリンクする他のコードを持っているからだと思います。サウンドをループさせて、一度に複数回再生しないでください。

答えて

1

タイムライン上の任意のフレームでサウンドを削除しましたか?もしそうなら、そのフレームを取り除く。

また、stop();コールを持たないキーフレームでコードを宣言した場合、そのフレームに「入り」たときにそのフレームに何度も何度も繰り返しています。コードの先頭または終了キーフレームに、stop();を追加してください。これは、プロジェクトに最も適していればどこでもかまいません。

これら二つのことを試した後、私はそれが便利になるかもしれ愛することを学んできた別の方法がある:あなたがこの呼び出しはしません行った後に再生を開始何が聞こえるように

flash.media.SoundMixer.stopAll(); 

これは、すべてのサウンドを停止します前に始まった他の声に対抗することができます。

This sound tutorialもご利用いただけます。

どのようになっているのか、このようなことが助けられたかどうかをお知らせください。

+0

はい、キーフレームに停止コードがあります。私は、ボタンをクリックするなどのゲームに取り組んでいることに言及することを忘れています。すべてのボタンにはSoudmixer.stopAll()があります。そのように動作しますが、サウンドは一度に複数回再生されます。 –

+0

トレースを入れる( "クリック")。クリックハンドラーでクリックして、1回のクリックで複数回呼び出されているかどうかを確認します。また、ボタン内のタイムラインにサウンドが含まれているレイヤーがないことを確認します。 – ToddBFisher

+0

ボタンが複数回呼び出されることはなく、どのキーフレームにも音がありません。 –

関連する問題