- mac safariでは11から「音声つき動画の自動再生」はデフォルトでは許可されていなかった。ユーザー設定により変更可能
- http://ch.nicovideo.jp/indies-game/blomaga/ar1407722 の「Mac版Safari ユーザーの方へ」
- chromeでも64からPC/Androidともに特定条件で自動再生が無効化されるらしい
- 「自動再生が無効化」されているブラウザにおいて、ツクールMV製のゲームをプレイすると、音声つき動画再生の時点でゲームが止まってしまう (★)
- アツマールでは上記問題に対し、 http://ch.nicovideo.jp/indies-game/blomaga/ar1407722 にて提供されるプラグインを実装し、「音声つき自動再生が許可されていない場合、音声無しで再生する」「自動再生が許可されていない場合、動画再生自体をスキップする」という対応をした
https://github.com/rpgtkoolmv/corescript/pull/140/files
- 上記パッチを適用することで、「mac safari」「Android Chrome 64」「PC Chrome 64」それぞれにおいて
- user gesture(マウス、キー、タッチのいずれか)をゲーム中で行っていれば、自動再生の設定にかかわらず音声ありで動画を再生できるようになった
- user gestureがまだない場合(アツマールのゲームパッドのみで操作したり、いきなり動画を流す場合など)、動画再生の箇所で止まるが、user gestureを起こせば音声ありで動画を再生できるようになった
- (★) の状態は、タッチデバイスでは
Graphics._onTouchEnd
で動画再生しゲームが再開される想定となっていたが、PCデバイスではタッチできないためエンジンが止まってしまったように見えていた - https://github.com/rpgtkoolmv/corescript/pull/140/files#diff-31a94de7b0301133a1595756c5add99aR1100 にて示して頂いたとおり、マウス/キーに関しても
Graphics._onTouchEnd
を発火させることにより解決する形
- (★) の状態は、タッチデバイスでは
- rpgtkoolmv/corescript#140 の対応のマージ・リリース
this._videoUnlocked = !Utils.isMobileDevice() && !Utils.isMacSafari();
の処理は、もはやモバイル/safariに限る話ではなくなってしまったため、修正する必要があるかも- firefoxでも同様の対応がされるという話あり
- 先日リリースしたプラグインを修正し、くらむぼんさんの修正相当のパッチを当てるプラグインとし再リリース
- コアスクリプトのリリースまでのつなぎとしてリリースします
- 上記プラグインと問題について、開発ブログで作者向けの共有
- ゲームプレイヤーのiframeに
allow="autoplay"
を追加- この対応をしなくても、くらむぼんさんの修正のみで再生できることは確認できていますが、より幅広いケースに対応するために追加します
- ただしChrome64の時点では未対応らしく、将来を見据えての追加となります