- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:音声の出だしの音量だけがsetVolumeで制御が利かない。)
音声の出だしの音量制御について
このQ&Aのポイント
- 音声の出だしの音量だけがsetVolumeで制御が利かない。
- インスタンス化したSoundがsetVolumeで制御されるよりも先に再生されてしまう為、出だし部分だけ音量制御が利かないのでは?
- 良い解決方法がみつからず、悩んでおります。
- みんなの回答 (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 を実行していなくても上手くいく場合もあるようです。 しかし、あまりアテにはならないので、再生する前にボリュームを設定しておく方が無難だと思います。
お礼
なるほど。。。。 この現象が発生する音声と、発生しない音声があった為、両者の違いがわからず、半分あきらめていました。 根本的な事が原因だったようですね。 大変助かりました。ありがとうございます。