• このエントリーをはてなブックマークに追加
【更新】【配布】Android Chrome v55以降で音声が鳴らない問題を修正するプラグイン
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

【更新】【配布】Android Chrome v55以降で音声が鳴らない問題を修正するプラグイン

2016-12-16 19:15
    2017-02-15更新
    このプラグインに相当する改修が『RPGツクールMV アップデートVer1.3.5』に組み込まれました。
    http://blog.tkoolmv.com/entry/2017/02/14/165558
    よって、Ver1.3.5以降で新規作成したゲームや、コアスクリプトのバージョンをVer1.3.5に更新した場合は、この問題が解消する可能性が高いです。

    Ver1.3.5以前のコアスクリプトを利用したゲームについては、引き続き本ページで提供中のプラグインをご利用ください。

    RPGアツマールのゲームがAndroid端末のGoogle Chromeの最新バージョン(55以降)で音が出ない問題を修正するpluginを作成いたしました。RPGアツマールをご利用のかたは、全員導入をお願いいたします
    以前、提供したプラグインも同梱されておりますので、前回のプラグインを導入されている方は差し替える形で今回のプラグインを導入ください。

    ■これはなにか
    Android端末のGoogle Chrome最新バージョン(55以降)で音声が鳴らない問題を修正するパッチです。
    RPGツクールMVのプラグインフォルダにいれたあと、プラグイン機能で「ON」にしていただくことで音声問題が修正されます。前回のプラグインを導入されている方は差し替える形で今回のプラグインを導入ください。

    ダウンロードはこちら

    ■パッチは何をするのか
    Android 端末の Google Chrome 最新バージョン(55以降)の場合、サンドボックス環境下(非同一オリジンの iframe 内)の音声再生方法の変更とtouchstart を user gesture と見なさない仕様に対応しました。

    具体的には以下の処理を WebAudio 処理に追加しています。
    ・画面の touchend イベント時に、resume を呼び出す必要があれば、resumeを呼び出す。
    ・resume を呼び出した後に既存のモバイル向けの音声開始処理を呼び出す。

    ■なぜこうなっているのか
    これまで Android Chrome は次の条件で音声の再生を許可していました。
    「ユーザの操作によるイベントで、音声再生を再生すること」

    しかし、2016年12月中旬に配布開始された Android 端末の Google Chrome 最新バージョン(55以降)では、サンドボックス環境下(非同一オリジンのiframe内)の場合のみ、音声の再生に関して、次のように変更されました。
    「ユーザの操作によるイベントでAudioContextを作成するか、別で作ったAudioContextに対してユーザの操作によるイベントでresume関数を呼び出すこと。また、この『ユーザの操作』にtouchstartイベントは含まれない」
    そのため、サンドボックス環境でゲームを実行しているRPGアツマールでは、音が鳴らない問題が起きていました。

    この問題の検証は Android の Nexus7(2013) で行いました。

    ■その後
    この問題点とパッチはKADOKAWA社のRPGツクールMV開発部に共有済みです。

    ■ライセンス情報
    ライセンス:MIT License
     パッチの制作と検証は「RPGアツマール」チームで行われました。

    ■参考
    CSP (Content Security Policy) - Web セキュリティ | MDN 

    同一オリジンポリシー - Web セキュリティ | MDN 
    コメントを書く
    コメントをするには、
    ログインして下さい。