メイン コーダーズルーム【スクリプト系】 複数の音声の音量コントロールについて | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
yuuyuu | Åê¹ÆNo.3698 投稿日時: 2004-2-11 15:16 |
常連 居住地: 茨城県 投稿: 118
使用環境:
Win2000,XP Flash MX2004 |
複数の音声の音量コントロールについて こんにちは。
CD-ROMコンテンツにて題記の方法について行き詰まっています。 やりたいことは・・・ 1.メイン画面でBGM、ナレーション、ビデオの音声が出ている状態で、上位レベルへ目次画面を表示した時目次のBGMを鳴らし、メインの音全てのボリュームを0にする。 2.目次を閉じると、メインのボリュームが戻る。(目次BGMは無くす) ということなのですが、目次表示ボタンでサウンドオブジェクトのボリュームを0にすると表示後の目次のBGMまで消えてしまうのです。 状況は・・・ ■メイン画面 ・サウンドオブジェクトを生成 _global.theSound = new Sound() ・BGMのswfをLevel4へloadMovieNum (BGMswf内) BGM1 = new Sound(this); BGM1.attachSound("mainBGM"); BGM1.start(); BGM1.setVolume(50); ・ナレーションswfをLevel3へloadMovieNum (ナレーションswf内) タイムラインに配置し、同期をストリーミング ・埋め込みビデオのswfをLevel1のMCへloadMovie (ビデオswf内) videoSon = new Sound(this); videoSon.setVolume(40); ■目次画面 ・目次画面swfをLevel2へloadMovieNum (目次画面swf内) BGMをLevel4へloadMovieNum (目次BGMswf内) BGM2 = new Sound(this); BGM2.attachSound("mokujiBGM"); BGM2.start(); BGM2.setVolume(50); ■目次表示ボタン on (release) { loadMovieNum("mokuji.swf", 2); theSound.setVolume(0); _level0._visible = false; _level1._visible = false; } これだと、すべてのBGMがメインのtheSoundオブジェクトに依存してしまって全音消えてしまいます。でも、BGMはそれぞれにサウンドオブジェクトを生成してattachしているので大丈夫かと思うのですが・・・。 (実の所、BGMは、同レベルの読み変わりなので消音しなくてもいいので、ナレーション(L3)、ビデオ音声(L1)の消音、鳴音になります。) どうも、音声が複数になった時の、サウンドオブジェクトの相互関係が つかめていないようです。 ボタンのsetVolume(0)をどのようにかければよいのでしょうか。 よろしくお願いします。 |
野中文雄 | Åê¹ÆNo.3699 投稿日時: 2004-2-11 15:40 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 複数の音声の音量コントロールについて Sound.setVolume()メソッドを呼出しているSoundオブジェクトインスタンスには、ターゲットが指定されていません。したがって、ムービー内のすべてのサウンドが制御対象となってしまいます。
引用: yuuyuuさんは書きました: ボリュームのコントロールも、それぞれのSoundインスタンスごとに行うべきです。 引用: でも、BGMはそれぞれにサウンドオブジェクトを生成してattachしているので大丈夫かと思うのですが・・・。 |
yuuyuu | Åê¹ÆNo.3702 投稿日時: 2004-2-11 17:01 |
常連 居住地: 茨城県 投稿: 118
使用環境:
Win2000,XP Flash MX2004 |
Re: 複数の音声の音量コントロールについて Fumio様
さっそくのお返事ありがとうございます。 サウンドオブジェクトのメソッドは、たとえ別の名前で作っても、ターゲットを指定しない場合、全てのサウンドオブジェクトに対し作用してしまうのですね。 引用:
ナレーション、ビデオにはサウンドオブジェクトを作らずに鳴らしていたので、それぞれに作って、ターゲット指定したらうまくいきました。 ありがとうございました。 上記の、「ターゲットを指定しない場合、全ての?」についてお聞きしたいのですが、逆に全ての音に対しメソッドを適用したいという場合、数あるサウンドオブジェクトのうちの1つをターゲット無しで指定する、というのはscriptの記述としてアリなのでしょうか? それともやはり、機能としては一緒だとしても、それぞれのオブジェクトに対し、メソッドを適用させるべきなのでしょうか? 追加質問で申し訳ありません。 |
野中文雄 | Åê¹ÆNo.3709 投稿日時: 2004-2-12 1:21 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: 複数の音声の音量コントロールについて ムービー全体のサウンドを一括してコントロールするということ自体は、とくに問題ありません。
引用: yuuyuuさんは書きました: ただ、個別のインスタンスに対しても別途設定を行う場合、サウンドの状態を確認しにくくなるおそれがあります。つまり、マスターボリュームと、個別のチャネルのレベル設定があるサウンドミキサーと同じです。個々のチャネルのサウンドのレベルを知るには、個別の設定とマスターの両方を確認しなければならなくなります。 それでとくに不都合がなければ、差支えないでしょう。 引用: それともやはり、機能としては一緒だとしても、それぞれのオブジェクトに対し、メソッドを適用させるべきなのでしょうか? |
yuuyuu | Åê¹ÆNo.3717 投稿日時: 2004-2-12 9:51 |
常連 居住地: 茨城県 投稿: 118
使用環境:
Win2000,XP Flash MX2004 |
Re: 複数の音声の音量コントロールについて Fumio様
おはようございます。 なるほど、これは、記述の単純化と機能(内容)の明瞭化のバランスをどうとるか、ということになりますね。 引用:
大変勉強になりました。 ありがとうございました。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |