誰かがループで再生している音楽の音量をどのように変更するのですか?例えば、私はゲームを作っていて、特定のフレームで音楽レベル(music.wav
)を音量の半分に減らしたいと思っています。オーディオループの音量を調整する方法は?
どのようにして誰かがAS3でこれを行うことができましたか?
誰かがループで再生している音楽の音量をどのように変更するのですか?例えば、私はゲームを作っていて、特定のフレームで音楽レベル(music.wav
)を音量の半分に減らしたいと思っています。オーディオループの音量を調整する方法は?
どのようにして誰かがAS3でこれを行うことができましたか?
"loop"という言葉は混乱しています。私は、これはあなたがループによって何を意味するかではないことではなく、あなたがMovieClip
またはメインが好きだろうと推測
for (var i:int = 0; i < 10; i++)
{
//do stuff 10 times
}
:プログラミングでは、ループは、通常、次のようになりますループ「のため」のものを指しますタイムラインをn
フレームの末尾にあるSound
オブジェクトの音量を下げます。それとも、音楽そのものがループしているという意味ですか?うまくいけば、よく書かれた質問をする価値があることが分かります。それは言われている..
私はこれを試したことはありませんが、私の参考書(Lott、Schall & PetersのActionScript 3.0クックブック)に従って、SoundTransform
オブジェクトを使用する必要がありますサウンドを設定します。今
var _sound:Sound = new Sound(music.wav); // creates a Sound object which has no internal volume control
var channel:SoundChannel = _sound.play(); // creates a SoundChannel which has a soundTransform property
var transform:SoundTransform = new SoundTransform(); // SoundTransform objects have a property called "volume". This is what you need to change volume.
あなたのループ内(または使用しているフレームイベントに)次の操作を行います:これを試してみてください
transform.volume *= 0.9; // or whatever factor you want to have it decrease
//transform.volume /= 1.1; // or this if you prefer.
channel.soundTransform = transform; //
ですから、ボリュームは、この増分量だけ減少したいいつでも、これを実行しますコードのビット。もちろん、あなたが設定した変数がそれらを参照しているコードでアクセス可能であることを確認する必要があります。これを行うことを念頭に置く1つの方法は、機能である。
private function soundDiminish(st:SoundTransform, c:SoundChannel, factor:Number = 0.9):void
{
st.volume *= factor;
c.soundTransform = st;
}
ここでボリュームを小さくしたい場合は、soundDiminish
関数を呼び出してください。
たぶん、あなたのフレームイベントは次のようになります。あなたが唯一の20フレーム毎に、この関数が呼ばれるようにしたい場合は
function onLoadFrame(fe:Event):void
{
soundDiminish(transform, channel); // 3rd parameter optional
}
:
function onLoadFrame(fe:Event):void
{
// this is a counter that will count up each time this frame event happens
frameCount ++;
if (frameCount >= 20)
{
soundDiminish(transform, channel); // 3rd parameter optional
frameCount = 0; // reset the frame counter
}
}
ありがとうございました!とても多くの情報!とても知識豊富!私はあなたに挨拶します、良い先生! – okay14
あなたは大歓迎です。あなたはここに戻って、他の人たちと同じ質問を平時に返すことになるでしょう。 –
関連:[音の音量を変更する方法キーボード入力を使用して?](http://stackoverflow.com/questions/1846829/how-to-change-the-volume-of-a-sound-using-keyboard-input) –
@JonnyHenlyしかし、フレームロードイベント? – okay14
私はリンクされた質問、特に 'function onKey(...):void {...}'コードの答えのコードを見ましたか?私はそれがそのコードに似ていると信じています。 –