データ3 APIを使用してYouTube iFrame埋め込みプレーヤーを読み込むときに、ブラウザコンソールにこの警告が表示されますか?
Unrecognized feature: 'autoplay'.
エラーはGoogleファイルで発生します:www-widgetapi.js:110それはJavaScriptエラーのようです(これは110行目からです):
c.setAttribute("allowfullscreen",1);c.setAttribute("allow","autoplay; encrypted-media");
自動再生部分は単純に次のようになっているはずです。
c.setAttribute("autoplay",0);
ファイルはこちら: https://s.ytimg.com/yts/jsbin/www-widgetapi-vflkvQ6Kw/www-widgetapi.js
開発者デモページでもエラーが発生しています: https://developers.google.com/youtube/youtube_player_demo
これらのことをGoogleにどのように報告しますか?
私はこれかどうかのだろうか:
https://developers.google.com/web/updates/2017/09/autoplay-policy-changes
お気づきかもしれませんが、Webブラウザーは、ユーザーエクスペリエンスを向上させ、広告ブロッカーをインストールするインセンティブを最小限に抑え、高価なネットワークや制約のあるネットワークでのデータ消費を削減するために、より厳しい自動再生ポリシーに移行しています。これらの変更は、ユーザーによる再生の制御を強化し、正当なユースケースでパブリッシャーに利益をもたらすことを目的としています。
Chromeの自動再生ポリシーは簡単です:
- ミュートされた自動再生は常に許可されます。
- 次の場合、音声付きの自動再生が許可されます。
- ユーザーがドメインと対話しました(クリック、タップなど)。
- デスクトップでは、ユーザーのMedia Engagement Indexのしきい値を超えました。これは、ユーザーが以前に音声付きのビデオを再生したことを意味します。
- モバイルでは、ユーザーが自分のホーム画面にサイトを追加しました。
- トップフレームは、iframeに自動再生許可を委任して、音声付きの自動再生を許可できます。
それと何か関係があります。私は同じ問題を思いつきました、そして記事は自動再生が2018年1月から動作する方法(今!????)はchanging。
コードの自動再生を削除し、代わりに this answer で説明されている手法を使用しました
そのようです:
player = new YT.Player( videoID , {
videoId: youtubeID, // the ID of the video (mentioned above)
playerVars: {
// autoplay: 1, // start automatically
controls: 0, // don't show the controls (we can't click them anyways)
modestbranding: 1, // show smaller logo
loop: 1, // loop when complete
playlist: youtubeID // required for looping, matches the video ID
},
events : {
'onReady' : onPlayerReady
}
});
function onPlayerReady(event) {
player.mute();
player.playVideo();
}
これが「答え」を構成するかどうかはわかりませんので、そうでない場合はお知らせください。削除します。
Iframe要素のallow属性からautoplay;
を削除し、srcのURL getパラメータにautoplay = 1を含めました。
src="https://www.youtube.com/embed/Kjf0PdhFqMw?autoplay=1&enablejsapi=1&modestbranding=1&rel=0&loop=1&controls=0&showinfo=0&mute=1&wmode=transparent"
自動再生が機能し、そのエラーはもう発生しません。