/*---------------------------------------------------------------------------*
 * Torigoya_FixMuteAudio.js v.1.0.0
 *---------------------------------------------------------------------------*
 * 2020/08/20 16:23 (JST)
 *---------------------------------------------------------------------------*
 * Ruたん ( @ru_shalm )
 * http://torigoya.hatenadiary.jp/
 *---------------------------------------------------------------------------*/

/*:
 * @plugindesc スマホでブラウザを非アクティブにすると音が二度と鳴らなくなることがあるのを防止するやつ (v.1.0.0)
 * @author Ruたん（ru_shalm）
 * @license public domain
 * @version 1.0.0
 * @help
 * スマホでブラウザを非アクティブにすると音が二度と鳴らなくなることがあるのを防止するやつ (v.1.0.0)
 *
 * ※このプラグインはRPGツクールMV 1.6.1で動作確認しています。
 * 　今後のRPGツクールMVのアップデート次第では不要になる可能性があります。
 *
 * ■ なにこれ！
 * 以下の修正パッチのプラグインバージョンです
 * https://github.com/rpgtkoolmv/corescript/pull/209
 *
 * ■ どういうときにおかしくなるの？
 * 1. Androidを用意します
 * 2. Chromeでゲームを開きます
 * 3. ゲームから音声が鳴り始めます
 * 4. スマホのホームボタンを押して、Chromeを非表示にします
 * 5. 自動的に音声のフェードアウトが始まります
 * 6. 0.5秒以内にChromeをタップして再度表示します
 * 7. 音、死す
 *
 * ■ なんでやねん
 * Androidではブラウザ(Chrome)を非表示にしても音が鳴りっぱなしになってしまうため
 * RPGツクールMVのコアスクリプトの中に、
 * ブラウザが非表示になったら音が止まる仕組みが入っています。
 *
 * この時、音が急に止まるのではなく1秒かけてフェードアウトするようになっています。
 * そして、ブラウザを再度表示したときには0.5秒かけてフェードインします。
 *
 * フェードアウトよりフェードインのほうが短い時間のため
 * あまりに早くブラウザの表示・非表示を繰り返してしまうと
 * フェードアウトが完了する前にフェードインが終わってしまい
 * 最終的にフェードアウトの音量をゼロにする操作だけが残ってしまい
 * 音が鳴らなくなってしまいます＞＜
 *
 * このプラグインでは、フェードインの時間を0.5秒から1秒にすることで
 * どんなに超高速に操作をしたとしても、
 * フェードアウトしたままにならないようにしています。
 */

(function () {
    'use strict';

    WebAudio._onShow = function () {
        if (this._shouldMuteOnHide()) {
            this._fadeIn(1); // 0.5 -> 1
        }
    };
})();
