トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     複数の音声の音量コントロールについて
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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さんは書きました:
1.メイン画面でBGM、ナレーション、ビデオの音声が出ている状態で、上位レベルへ目次画面を表示した時目次のBGMを鳴らし、メインの音全てのボリュームを0にする。
2.目次を閉じると、メインのボリュームが戻る。(目次BGMは無くす)
ということなのですが、目次表示ボタンでサウンドオブジェクトのボリュームを0にすると表示後の目次のBGMまで消えてしまうのです。
...
■メイン画面
・サウンドオブジェクトを生成
_global.theSound = new Sound()

...
■目次表示ボタン
on (release) {
    loadMovieNum("mokuji.swf", 2);
    theSound.setVolume(0);
    // [後略]

これだと、すべてのBGMがメインのtheSoundオブジェクトに依存してしまって全音消えてしまいます。

ボリュームのコントロールも、それぞれのSoundインスタンスごとに行うべきです。
引用:
でも、BGMはそれぞれにサウンドオブジェクトを生成してattachしているので大丈夫かと思うのですが・・・。


----------------
 

yuuyuu
Åê¹ÆNo.3702
投稿日時: 2004-2-11 17:01
常連
居住地: 茨城県
投稿: 118
使用環境:
Win2000,XP
Flash MX2004
Re: 複数の音声の音量コントロールについて
Fumio様

さっそくのお返事ありがとうございます。

サウンドオブジェクトのメソッドは、たとえ別の名前で作っても、ターゲットを指定しない場合、全てのサウンドオブジェクトに対し作用してしまうのですね。
引用:

Fumioさんは書きました:
Sound.setVolume()メソッドを呼出しているSoundオブジェクトインスタンスには、ターゲットが指定されていません。したがって、ムービー内のすべてのサウンドが制御対象となってしまいます。


ナレーション、ビデオにはサウンドオブジェクトを作らずに鳴らしていたので、それぞれに作って、ターゲット指定したらうまくいきました。
ありがとうございました。

上記の、「ターゲットを指定しない場合、全ての?」についてお聞きしたいのですが、逆に全ての音に対しメソッドを適用したいという場合、数あるサウンドオブジェクトのうちの1つをターゲット無しで指定する、というのはscriptの記述としてアリなのでしょうか?
それともやはり、機能としては一緒だとしても、それぞれのオブジェクトに対し、メソッドを適用させるべきなのでしょうか?

追加質問で申し訳ありません。
野中文雄
Åê¹ÆNo.3709
投稿日時: 2004-2-12 1:21
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: 複数の音声の音量コントロールについて
ムービー全体のサウンドを一括してコントロールするということ自体は、とくに問題ありません。
引用:
yuuyuuさんは書きました:
上記の、「ターゲットを指定しない場合、全ての?」についてお聞きしたいのですが、逆に全ての音に対しメソッドを適用したいという場合、数あるサウンドオブジェクトのうちの1つをターゲット無しで指定する、というのはscriptの記述としてアリなのでしょうか?

ただ、個別のインスタンスに対しても別途設定を行う場合、サウンドの状態を確認しにくくなるおそれがあります。つまり、マスターボリュームと、個別のチャネルのレベル設定があるサウンドミキサーと同じです。個々のチャネルのサウンドのレベルを知るには、個別の設定とマスターの両方を確認しなければならなくなります。

それでとくに不都合がなければ、差支えないでしょう。
引用:
それともやはり、機能としては一緒だとしても、それぞれのオブジェクトに対し、メソッドを適用させるべきなのでしょうか?


----------------
 

yuuyuu
Åê¹ÆNo.3717
投稿日時: 2004-2-12 9:51
常連
居住地: 茨城県
投稿: 118
使用環境:
Win2000,XP
Flash MX2004
Re: 複数の音声の音量コントロールについて
Fumio様

おはようございます。

なるほど、これは、記述の単純化と機能(内容)の明瞭化のバランスをどうとるか、ということになりますね。
引用:

Fumioさんは書きました:
ムービー全体のサウンドを一括してコントロールするということ自体は、とくに問題ありません。
引用:
yuuyuuさんは書きました:
全ての音に対しメソッドを適用したいという場合、数あるサウンドオブジェクトのうちの1つをターゲット無しで指定する、というのはscriptの記述としてアリなのでしょうか?

個別のインスタンスに対しても別途設定を行う場合、サウンドの状態を確認しにくくなるおそれがあります。(中略)個々のチャネルのサウンドのレベルを知るには、個別の設定とマスターの両方を確認しなければならなくなります。

それでとくに不都合がなければ、差支えないでしょう。
引用:
機能としては一緒だとしても、それぞれのオブジェクトに対し、メソッドを適用させるべきなのでしょうか?


大変勉強になりました。
ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops