Chrome 66でHTML5ゲームの音が出ない問題 23
ストーリー by headless
無音 部門より
無音 部門より
Googleが4月にリリースしたChrome 66では音声付きメディアの自動再生が制限されているが、この変更によりHTML5ゲームやアートプロジェクトで音が出なくなる問題が発生しているようだ(VentureBeatの記事、
Ars Technicaの記事、
The Daily Dotの記事)。
原因となっているのは、Web Audio APIのAudioContextオブジェクトの扱いが変更されたことだ。Chrome 66では自動再生が許可されている場合を除き、ユーザーが何らかの操作をしない限り音声再生がブロックされる。Web Audio APIを使用する場合、ページ読み込み時にAudioContextオブジェクトを作成すると、ユーザーの操作後にresume()メソッドを実行しなければ音声は再生されない。
しかし、このような処理を入れなければWeb標準に違反するわけではなく、これまでは他にそうすべき理由も特になかった。修正そのものが難しいわけではないが、外部のゲームエンジンを使用している場合など、必ずしも該当部分のソースコードを自分で変更できるとは限らない。既に開発が止まっているゲームもある。その結果、多くのゲームで音が出ないことになった。
Googleでは昨年からこの問題を告知して対策を紹介していたと説明しているが、実際にWeb Audioの項目が追加されたのは今年に入ってからだ。項目追加について積極的に告知していた様子はない。なお、「chrome://flags/#autoplay-policy」のオプションを変更すれば、音声付きメディアの自動再生制限を無効化することは可能だ。
原因となっているのは、Web Audio APIのAudioContextオブジェクトの扱いが変更されたことだ。Chrome 66では自動再生が許可されている場合を除き、ユーザーが何らかの操作をしない限り音声再生がブロックされる。Web Audio APIを使用する場合、ページ読み込み時にAudioContextオブジェクトを作成すると、ユーザーの操作後にresume()メソッドを実行しなければ音声は再生されない。
しかし、このような処理を入れなければWeb標準に違反するわけではなく、これまでは他にそうすべき理由も特になかった。修正そのものが難しいわけではないが、外部のゲームエンジンを使用している場合など、必ずしも該当部分のソースコードを自分で変更できるとは限らない。既に開発が止まっているゲームもある。その結果、多くのゲームで音が出ないことになった。
Googleでは昨年からこの問題を告知して対策を紹介していたと説明しているが、実際にWeb Audioの項目が追加されたのは今年に入ってからだ。項目追加について積極的に告知していた様子はない。なお、「chrome://flags/#autoplay-policy」のオプションを変更すれば、音声付きメディアの自動再生制限を無効化することは可能だ。
一方YouTubeでは (スコア:0)
YouTube に有利なルールを Google が導入して特別扱いしてます (スコア:2, すばらしい洞察)
昨年9月のChrome 62 Canaryから、
1) メディアを7秒以上再生
2) 音声付きでミュートされていない
3) アクティブなタブ上での動画再生
4) 動画サイズは200×140ピクセル以上、
といった条件に一致する再生回数やサイト訪問回数などから算出スコアをもとにMedia Engagement Index(MEI)を収集・算出しており
一定時用のスコアを獲得しているドメイン名は、自動再生の制限の対象外としています
このルールだと沢山の動画コンテンツのアクセスの多いドメインが非常に有利なので、YouTubeは当然対象外になります
客観的にルール作りをしているという名目ですが、ルール自体が Google が運営している YouTube に極めて有利に作られてるわけですね
数秒以内にブラウザバックや「停止ボタン」、広告スキップボタンが押されたら、
ユーザーの意図しない再生だと判断して大幅減点とかそういうルールもあったらYouTubeは不利になっていたでしょう
YouTubeの広告は「意図しない再生」ですしね
Re:YouTube に有利なルールを Google が導入して特別扱いしてます (スコア:1)
とはいえ、他の視聴サイトもまあまあ同じになるし広告との峻別ならそのへんじゃないかな
あと広告が差し込まれること自体は他の動画視聴サイトでもあるし
今回のは「意図せずに音がでる」ことの対処ではあるので、動画サイトに行って音が出ることは広告だろうと一応意図の中ではある
# まあ若干強弁ではあるよなあ、とは思うけど
M-FalconSky (暑いか寒い)
Re: (スコア:0)
Youtubeのライバルサイトに影響がなければ、実質的な問題はないのでは?
真の目的は別にあって、昔はHTML5を推進してたけど、Androidが成功したから、もう不要。
ゲームはAndroidアプリでやってほしい。HTML5はどちらかというと潰したい、というなら別だが。
Re: (スコア:0)
HTML5はあってもいいけど、ゲームはだめ、といってるのでは。
Re: (スコア:0)
以前から言われている音の出る迷惑な広告は駄目ってだけだろ。
ゲームやその他は巻き込まれだけど、対処は難しくないのだから対処すれば良い。
ゲーム業界はGoogleの告知プロセスについては文句を言って良いかもしれないけど、
逆に怠慢を問われる可能性もある。
Re: (スコア:0)
最初のリンク先のこちらをどうぞ
Chrome 66では音声付きメディアの自動再生が制限される [it.srad.jp]
少し前の (スコア:0)
HTMLのDoctypeに、html4に準拠していると宣言しているのに加えて、
metaタグに、X-UA-Compatibleの指定をしないといけない的な話?
# こっちは、HTML4だっつってんのに、独自HTMLで解釈しようとしたり
# ブラウザの調子が悪いだけなのに「(サイトのドメイン)は応答しません」とか
# 責任転嫁しやがって
javascript ならソースあるでしょ (スコア:0)
>外部のゲームエンジンを使用している場合など
自力対応はあかんの?
Re: (スコア:0)
ソースあったとしても,それを改造して使っていいかどうかはライセンス次第な気がする
Re: (スコア:0)
著作権法 第20条(同一性保持権) 2の3 改変の認可
> 特定の電子計算機においては利用し得ないプログラムの著作物を当該電子計算機において利用し得るようにするため、
> 又はプログラムの著作物を電子計算機においてより効果的に利用し得るようにするために必要な改変については、
> 同一性保持権が適用されない。
という条項があるので、想定される動作が得られない特定の環境に合わせること、明らかなバグの修正を適用することは、
著作権的には利用者側に明示的に認められてる範囲だったりします。
問題とする場合は利用契約に存在するリバースエンジニアリングの禁止事項と思われますが、契約上にあっても法的には有効なのかがグレーなのと、
そもそもその目的が上記の実行環境への調整とバグ修正の場合は法的問題はクリアしているとみなされています。
Re: (スコア:0)
ここまでワールドワイドな話で、日本の法律だけで云々しても仕方ないと思うけど。
Re: (スコア:0)
自分一人で使う分にはな。
同一性保持権を満たして様が公開できるかはどうかは一切関係ないからな。
Re: (スコア:0)
変更部分だけパッチとして配布すればよいのでは。
アプリの日本語化やバグ修正をする為に手元でバイナリを書き換えるパッチを配布するケースがありますね。
現在は多言語対応やOSS化が進んで少なくなりましたが
Re: (スコア:0)
どんな法的権限があって改造パッチが配布できるのよ
パッチならOKとか思うならWindowsをごにょごにょできるパッチでも配布してみたら?
そんで、仮にJSゲームエンジンのパッチが配布できたとして、誰に配布して、どうやって、何に取り込むのよ……
それやるくらいなら古い Chrome なり Firefox なり使う方が遥に全てにおいて楽だし、正確だし、早いよね?
Re: (スコア:0)
>それやるくらいなら古い Chrome なり Firefox なり使う方が遥に全てにおいて楽だし、正確だし、早いよね?
今どきは古いブラウザを使うほうがハードル高いと思う。
特にChromeは最新版以外DLできないし、サービスやタスクスケジューラ止めないと勝手に最新版になるし…
Re: (スコア:0)
世の中には更新されないポータブル版とか Chromium とか、その他フォーク版があってだな
それでも個々にJSのパッチ配布する方がハードル低いっと思うなら否定しない
主観の話だし
Re: (スコア:0)
で、それをCDNに持っていくの?
Re: (スコア:0)
ええかあかんかで言えばあかんやろな。やりかたによるけど。
プログラム保守の観点から禁忌に触れている対応だと思う。
Re: (スコア:0)
いやいや、会社としては他社よりアドバンテージが出来て
会社は保守のためにプログラマを囲わないといけなくなるというwin-winの関係やん
足抜けしたいときのために保守コードの詳細はまとめといて隠しとくのも必要やろけど
音量コントロールの無いブラウザゲー (スコア:0)
ちょっと助かってたり。
でもまあ、ドメイン単位とかでON/OFF出来るべきですな。
みんなChromeなんか捨ててFirefox使おうぜ! (スコア:0)
どうせChromeの尻を追いかけて同じことするけどな!
問題があるのは一部のソフト (スコア:0)
音が聞こえない程度であれば、我慢すれば遊べるので問題ないと思う人もいるだろう。