• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:音声の出だしの音量だけがsetVolumeで制御が利かない。)

音声の出だしの音量制御について

このQ&Aのポイント
  • 音声の出だしの音量だけがsetVolumeで制御が利かない。
  • インスタンス化したSoundがsetVolumeで制御されるよりも先に再生されてしまう為、出だし部分だけ音量制御が利かないのでは?
  • 良い解決方法がみつからず、悩んでおります。

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

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

bgSound.start を実行する前に、setVolume でボリュームの初期値を設定してみてください。 (↓各行頭に全角のスペースが入っています。コピーする際はご注意ください)  bgSound = new Sound( this );  bgSound.attachSound( "sound1" );  bgSound.setVolume( 30 ); //←この1行を追加  bgSound.start( 0 , 1 ); サウンドのボリュームは、デフォルトではフルボリュームである 100 に設定されています。 特に指定がなければ最大音量で再生が始まります。 ご提示のスクリプトですと、setVolume を実行しているのは enterFrame イベントにより呼び出される関数の中だけです。 この setVolume が実行されるタイミングが、サウンドインスタンスの出現(ボリュームを設定していないため、ボリューム 100 で再生が始まっている)よりもわずかに遅れることが原因と思われます。 通信回線を介して再生する時は、予め setVolume を実行していなくても上手くいく場合もあるようです。 しかし、あまりアテにはならないので、再生する前にボリュームを設定しておく方が無難だと思います。

TIRA921
質問者

お礼

なるほど。。。。 この現象が発生する音声と、発生しない音声があった為、両者の違いがわからず、半分あきらめていました。 根本的な事が原因だったようですね。 大変助かりました。ありがとうございます。