戦闘終了後、BGM音量が一瞬大きくなる

Created at
Updated at

本現象の再現率は100%です。以下、再現です。

1.戦闘が終了する

d_DI_41_Np_Ko_O_Zt_DOBD_2x_Rvr_A_4d8030b749

2.マップに切り替わった直後、BGMの音量が大きくなる。

1_b_HNF_1_Ckgh_V7_Qx_Yr5tyhw_b8269eefca

本現象は、BattleシーンのDestroy時、発生していると思われます。ログで 2 audio listeners と出ているため、それぞれの audio でフィールドのBGM が流れるためだと思われます。

Comments

Created at

ご不便をおかけしてしまい申し訳ありません。

こちら弊社環境では再現できなかったのですが、マップBGM(およびその音量)の問題で大きくなったように感じられたということはないでしょうか。なお「2 audio listeners」は現在アクティブになっているシーンに2つのlistenerが存在するという意味のログですが、聞こえる音に対する影響はないものと認識しております。

お手数をおかけしますが、ご確認のほど何卒よろしくお願い申し上げます。


Created at
Updated at

ご返答ありがとうございます。

私も後に調査したところ、「2 audio listeners」はとくに本件に関係はないと結論付けました。

本現象はたとえばフィールド曲の場合、曲の出だしが「デン」だとすると「デデン」とはじめに聞こえる音がゲーム中設定の音量と関係のない最大値で聞こえます。挙動としては曲の位置0からの再生開始→曲の位置0からの再生開始となっているのではと思われます。

Assets\RPGMaker\Codebase\Runtime\Common\SoundManager.cs の344行目にある

await Task.Delay(1);

このコードとこれ以降のコードが影響していると考えています。環境に影響を受け、ディレイが遅れた結果ではないとか思います。ためしに本コードをコメントアウトするとこの現象は再現しなくなりました。ただ、この方法は直接の問題点を解決する方法ではないと思われます。

想像で申し訳ないのですが仮に「①曲の位置0からの再生開始→②Delay(1)→③曲の位置0からの再生開始」だとすれば「①BGM停止→②Delay(1)→③曲の位置0からの再生開始」となるのがよいと考えます。

Delay(1)の処理を入れる意味があまりないのであれば根本解決ではないですが、とりあえず問題をなくすことができると思います。

よろしければご確認いただけると幸いです。