• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:レイヤーごとに音量を調節したいです。)

レイヤーごとに音量調節する方法

このQ&Aのポイント
  • Flash Professional CS5の環境で、レイヤーごとに音量を調整する方法について説明します。
  • 画像の色分け部分には、ピンク色と水色の2つのサウンドがあります。黄色の部分はサウンドの再生停止を示し、赤色の部分と青色の部分には音量調整のスクリプトが記述されています。
  • 現在の設定では、スクリプトを記述したフレームですべてのサウンドオブジェクトの音量が変化してしまいます。解決策として、ピンク色のサウンドを100、水色のサウンドを50に設定する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • DPE
  • ベストアンサー率85% (666/776)
回答No.1

サウンドの「効果」でエンベロープを設定してみてはいかがでしょう。 エンベロープとはフレームに挿入したサウンドの音量を変化させて表現する様々な効果のことで、スクリプトを使わなくてもフェードインなどの効果を簡単に付けることができます。 エンベロープのパターンは自分で作ることもできます。 単純な音量の調整程度でしたら、エンベロープで対処できると思います。 音量を設定するスクリプトは、削除するか、コメントにしてください。 CS5 では、画面の配置や表記が違っているかもしれませんが。 サウンドを挿入したフレームを選択した状態で、「プロパティ」パネルを見てください。 「サウンド:」の下に「効果:」という項目があり、その隣に「編集」というボタンがあるかと思います。 「編集」ボタンを押すか、「効果:」のリストから”カスタム”を選ぶと、エンベロープパターンの編集画面になります。 編集画面のグラフは、上の波形が左チャンネルへの出力、下の波形が右チャンネルへの出力、横軸が時間の流れ(単位はフレームもしくは秒のどちらかを選べます)、縦軸が音量を表します。 デフォルトでは、波形のグラフに四角のハンドルが付いた横線が1本、引かれています。 この線が音量を表しています。例えば効果を「なし」にした場合は、左右のチャンネルの両方に常に最大音量で出力されるので、この線はどちらのグラフでも一番上に真横に引かれています。 ハンドルを上下にドラッグすると、音量を変更することができます。 音量を 50 にするには、ハンドルを縦軸の中央の辺りまでドラッグします。 この作業を、左右のチャンネル(上下のグラフ)の両方で行ってください。 ちなみに、リストで”なし”を選ぶとリセットされます。やり直したい時に活用してください。 編集画面の左下にある再生ボタンを押すと、効果を確認できます。 音量が下がっているかどうか、確認してみてください。 カスタムエンベロープは、フレームに挿入したサウンドごとに設定できます。 ご提示の例ですと、ピンクの部分のフレームでは効果を「なし」に、水色の部分のフレームではそれぞれ、効果を「カスタム」にしてエンベロープパターンを作成してみてください。 オンラインヘルプに記述がありました。よろしければ、ご参考になさってください。  ・Adobe Flash Professional CS5 オンラインヘルプ:Flash でのサウンドの編集   http://help.adobe.com/ja_JP/flash/cs/using/WSd60f23110762d6b883b18f10cb1fe1af6-7ce8a.html#WSd60f23110762d6b883b18f10cb1fe1af6-7ce1a   

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 音声の出だしの音量だけがsetVolumeで制御が利かない。

    SoundオブジェクトのattachSoundを利用して、フレームに音声を割り当て、再生しているのですが、 最初の出だし部分の音だけが、setVolumeで設定した音量を無視して、ライブラリに取り込んだままの音声で再生されてしまいます。 その後は、setVolumeで設定した音量にすぐにもどります。 自分的には、インスタンス化したSoundがsetVolumeで制御されるよりも先に再生されてしまう為、出だし部分だけ音量制御が利かないのでは? と思うのですが、良い解決方法がみつからず、悩んでおります。 コードは下記のようにしてます。 bgSound = new Sound(this); bgSound.attachSound("sound1"); bgSound.start(0, 1); slider.slideBar._y = -30; slider.slideBar.onEnterFrame = function() {     bgSound.setVolume(0-this._y); } slider.slideBar.onEnterFrame = function() { bgSound.setVolume(0-this._y); _global.vol = this._y }; slider.slideBar.onPress = function() { startDrag(this, false, this._x, -60, this._x, -0); }; slider.slideBar.onRelease = slider.slideBar.onReleaseOutside=function () { stopDrag(); }; 宜しくお願いします。

    • ベストアンサー
    • Flash
  • 2つの音のボリューム制御

    質問させてください。 Flashで2つの音を鳴らしたいと考えています。 一つはタイムラインにおいて、画面と同期させて います。二つ目は常に鳴るようにサウンドオブジェクト で鳴らしています。 問題は、setVolumeで音のボリュームを制御したいの ですが、下記のように2つのサウンドオブジェクトを 作成しても、最後に設定したsetVolumeに2つの音が ボリューム指定されてしまって、別々にボリューム 制御ができません。 (下記のように、タイムラインの音は30、スクリプト 制御の音は80で設定したい。) ●タイムラインの1フレーム目のフレームアクション _root.snd = new Sound(); _root.bgmsnd = new Sound(); //タイムライン用のボリューム指定 _root.snd.attachSound("menu1"); _root.snd.setVolume(30); //スクリプト制御用のボリューム指定 _root.bgmsnd.attachSound("bgm"); _root.bgmsnd.setVolume(80); _root.bgmsnd.start(0,99999); 解決方法、おわかりの方おられますでしょうか? Flash MX 2004 Windows XP

    • ベストアンサー
    • Flash
  • ボリュームスライダー(音量)を維持したい

    下記Scriptでボリュームスライダーをコントロールし、音量調整 していますが、スライダーを動かし、音量を調整しても、 各フレームで別の新しい音声が読み込まれる度に、 スライダーが元に戻ってしまい。音量も変化してしまいます。 これを維持したいのですが、自分の力では、良い方法が思いつかな くて困っており、アドバイスお願い致します。 bgSound = new Sound(this); bgSound.attachSound("sound1"); bgSound.start(0, 1); slider.slideBar._y = -30; slider.slideBar.onEnterFrame = function() {   bgSound.setVolume(0-this._y); }; slider.slideBar.onPress = function() {   startDrag(this, false, this._x, -60, this._x, -0); }; slider.slideBar.onRelease = slider.slideBar.onReleaseOutside=function () {   stopDrag(); };

    • ベストアンサー
    • Flash
  • レイヤーを動かしたい!

    レイヤーをボタンを押すと親レイヤーの中で子レイヤーがスクロールさせるようにしたいのですが、 下記のスクリプトでY軸方向にというのは出来るのですが、これをX軸方向に変えたいのです。 どこら辺をいじればよいのでしょうか? (おそらく必要と思われる部分を抜粋しています。) var speed=40 var loop, timer function makeObj(obj,nest){ nest=(!nest) ? '':'document.'+nest+'.' this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0; this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0; this.scrollHeight=bw.ns4?this.css.document.height:this.el.offsetHeight this.clipHeight=bw.ns4?this.css.clip.height:this.el.offsetHeight this.up=goUp;this.down=goDown; this.moveIt=moveIt; this.x; this.y; this.obj = obj + "Object" this.timerID= null; eval(this.obj + "=this") return this } function moveIt(x,y){ this.x=x;this.y=y this.css.left=this.x this.css.top=this.y } function goDown(move){ if(this.y>-this.scrollHeight+oCont.clipHeight){ this.moveIt(0,this.y-move) if(loop) this.timerID= setTimeout(this.obj+".down("+move+")",speed) } } function goUp(move){ if(this.y<0){ this.moveIt(0,this.y-move) if(loop) this.timerID= setTimeout(this.obj+".up("+move+")",speed) } } function scroll(speed){ if(loaded){ clearTimeout(oScroll.timerID); loop=true; if(speed>0) oScroll.down(speed) else oScroll.up(speed) } } function noScroll(){ loop=false if(timer) clearTimeout(timer) }

  • setVolumeで設定するとフレームの音量が下がる

    質問失礼いたします。 setVolumeで下記のように設定します obaとotoは変数です。 Oba=new Sound(); Oba.attachSound("obake"); Oba.setVolume(10); Oba.start(0,999); Oto.setVolume(0); この設定をするとOtoで設定したボリュームになってしまい。 Obaの方の音量も0になってしまいます。 バラバラに設定したいのですが、どうしたらいいでしょうか。 ちなみに Oba.attachSound("obake"); のobakeはリンゲージから音の識別子につけた名前です。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • 一つのレイヤーのみフィルターをかける方法

    FLASH8です。 写真の自動スライドショー的なものを作成しようとしています。 あるサイトにあった無料スクリプトをコピペし、表示は問題なくできるようになりました。 そのスクリプトは外部から写真を読み込み、画像と画像のフェードイン・アウト時にブラーエフェクトでつないでいくものです。(下記参照) これにレイヤーを一つ追加し、追加したレイヤー(上階層)はずっと表示させておきたいのですが、そのレイヤーの画像にまでエフェクトがかかってしまいます。 エフェクトをかからないようにする方法はありませんか? ちょっと説明が足り無いかもしれないんですが、何の情報を言ったらいいか分からないので、よければ補足要求いただければ回答いたします。 よろしくお願い致します。 ============================== import flash.filters.BlurFilter; var picsArray:Array = new Array("flash/01.jpg","flash/02.jpg","flash/03.jpg","flash/04.jpg"); var filter:BlurFilter = new BlurFilter(0, 0, 3); var picNum:Number = 0; var nextPic_int:Number var picHolder:MovieClip = _root.createEmptyMovieClip("picHolder", 1); function fadeOut(){ clearInterval(nextPic_int); picHolder.onEnterFrame = function(){ if(this._alpha > 0){ this._alpha -= 1; filter.blurX = (100 - this._alpha) / 4; filter.blurY = (100 - this._alpha) / 4; this.filters = [filter]; }else{ delete this.onEnterFrame; loadPic(); } } } function loadPic(){ trace("picNum: " + picNum); //load the pic here picHolder.createEmptyMovieClip("pic", 1); picHolder._alpha = 0; picHolder.pic.loadMovie(picsArray[picNum], 1); picHolder.onEnterFrame = function(){ if(picHolder.pic.getBytesLoaded() > 4 && picHolder.pic.getBytesLoaded() == picHolder.pic.getBytesTotal()){ this.onEnterFrame = function(){ if(this._alpha < 100){ this._alpha += 2; filter.blurX = (100 - this._alpha) / 4; filter.blurY = (100 - this._alpha) / 4; this.filters = [filter]; }else{ delete this.onEnterFrame; nextPic_int = setInterval(fadeOut, 10000); } } } } if(picNum == picsArray.length - 1){ picNum = 0; }else{ picNum++; } } loadPic(); stop(); ==============================

    • ベストアンサー
    • Flash
  • 【音声個別に再生】

    まず音声の素材にリンケージで ActionScript書き出しのみにチェック入れて 識別子を”bgm01”と”bgm01”の二つを用意します。 それを別々に再生させて それぞれの「音量」をコントロールできる スクリプトを書きたいのですが どうしても「音量」だけ 2つの素材すべてに影響して 両方とも音量が下がります。 どうすれば回避できるか教えてください。 【再生ボタン】 on (release) { mySound.stop("bgm01"); mySound = new Sound(sound_mc); mySound.attachSound("bgm01"); mySound.start(0, 999); // 音量設定( 0% ~ 100% ) mySound.setVolume(100); vol = mySound.getVolume(); } 【停止ボタン】 on (release) { mySound.stop("bgm01"); } 【音量ボタン】 on (press) { // 音量設定( 0% ~ 100% ) mySound.setVolume(50); vol = mySound.getVolume(); } これをmySoundに添え字で番号を振って bgm02も同じように作ります。 以上で、私が書いてるスクリプトです。

    • ベストアンサー
    • Flash
  • flashの音再生について

    main.swfにactionscript2.0で音のon/offしているのですが、 offになって欲しくない音までoffになってしまいます。 スクリプトで呼び出している音ならばまだわかるのですが、 flvで外部から読み込み再生しているファイルなので、 訳が分からず困っています。 ちなみに音再生スクリプトはフレーム上に以下 //BGM制御用のダミーのムービークリップを作る this.createEmptyMovieClip( "bgm_clip" , 0 ); //BGMの設定 sndbgm = new Sound( bgm_clip ); sndbgm.attachSound( "BGM01" ); sndbgm.setVolume( 100 ); sndbgm.onSoundComplete = function() { //無限ループ再生 sndbgm.start(); }; //BGMを再生 sndbgm.start(); //BGMのボリュームとフェードの速さを管理する変数 bgm_vol = 100; fade_spd = 5; //SE設定 allse = new Sound(); allse.setVolume( 100 ); S1 = new Sound(this); S1.attachSound("SE01"); S2 = new Sound(this); S2.attachSound("SE02"); S3 = new Sound(this); S3.attachSound("SE03"); on/offにはMCで以下の様にしています。 on (release) { if (this._parent.sndbgm.getVolume()>0) { this._parent.sndbgm.setVolume(0); this._parent.allse.setVolume(0); this._parent.v_on_off.gotoAndStop("soundOFF"); } else if (this._parent.sndbgm.getVolume()<=0) { this._parent.sndbgm.setVolume(100); this._parent.allse.setVolume(100); this._parent.v_on_off.gotoAndStop("soundON"); } } SE再生にはフレーム上に S1.start(); と入れています。 使用バージョンはCS4になります。 どなたか判る方、教えて下さい。

    • ベストアンサー
    • Flash
  • Flash8でサウンドが鳴りません

    Flash初心者です。 ActionscriptでBGMを流し、ユーザーがプレイとストップの制御ができるようにしたいのですがうまくいきません。 1、ボタンA(レイヤー1)とボタンB(レイヤー2)を作り、文字(レイヤー3)とscript(レイヤー4)を組み合わせてオブジェクトを作りシンボル化しました。 2、ライブラリ内のwavサウンドをリンゲージしました("bgm") 3、レイヤー4の1フレーム目に this._sound = new Sound(); this._sound.attachSound("bgm"); this._sound.start(0,999); 4、ボタンAに on(release){ this._sound.start(0,999); } 5、ボタンBに on(release){ this._sound.stop(); } と記述してあります。 シーンプレビューでは音が鳴り制御もできるのですが、 上記のシンボルをシーンのレイヤーに配置してムービープレビュー すると音が鳴りません。 どうしてでしょう?? さっぱり分からず困り果ててます。 どなたかご伝授御願いします。

  • カーソルが特定のオブジェクトに近づいていくと音量がゼロから最大に徐々に変化するAS2.0

    カーソルが特定のオブジェクトに近づけば近づくほど指定した音源の音量がゼロから最大に徐々に変化する方法はありませんか。 以下の音量調節コントローラーを透明にして応用しようと考えましたが、 ----------------------- max_val = 100; // 最大音量設定 set_vol = 0; // 現在の音量設定 s_obj = new Sound(); // SoundObjの作成 s_obj.setVolume(set_vol); // ボリュームセット vol_width = vol_mask._width; // マスクwidth初期値取得 vol_mask._width = (vol_mask._width / max_val)*set_vol; // マスクの位置調整 vol_click.onPress = function(){ this.onEnterFrame = function(){ vol_mask._width = this._xmouse; vol_par = Math.round((vol_mask._width / vol_width)*max_val); if(vol_par < 1){ vol_par = 1; }else if(vol_par >= max_val){ vol_par = max_val; } s_obj.setVolume(vol_par); } } vol_click.onRelease = function(){ delete this.onEnterFrame; } vol_click.onReleaseOutside = function(){ delete this.onEnterFrame; } ------------ onPressの代わりにrollOverにするのと、widthだけでなくheightにも両方適用させる方法が解りません。 このような方法でなくとも、目的のものが出来ればいかなる方法でも結構です。 例えば犬のオブジェクトにカーソルを近づければ近づけるほど犬の鳴く音が大きくなり、遠ざけると音が小さくなるようなものです。 お考えのあるかたは是非ともご教授願います。 当方Flash8 AS2.0です。 宜しくお願いします。