web-dev-qa-db-ja.com

Chrome Vimeo iframe自動再生が機能しなくなった

ある日以来、私のvimeo iframeは自動再生されなくなります。 chromeの更新で、音声付きの自動再生動画がブロックされます。ブロックは既にアクティブですか?

Vimeoサンプルコードが機能しません。

<iframe src="https://player.vimeo.com/video/12345?autoplay=1&loop=1&autopause=0" width="500" height="281" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>

しかし、netflix.comとvimeo自体には、ホームページに自動再生ビデオがあります。

編集:Chromeバージョン66.0.3359.139 macOS High Sierra 10.13.4

誰かがアイデアや答えを持っていますか?

ありがとう!

16
GoE

はい、彼らのドキュメントによると、そうです。

https://help.vimeo.com/hc/en-us/articles/115004485728-Autoplaying-and-looping-embedded-videos

編集:

FireFox、Chrome、Safariなどの高度なブラウザは、デフォルトでビデオの自動再生をブロックしています。

CHROME自動再生ポリシー:

https://developers.google.com/web/updates/2017/09/autoplay-policy-changes

Media Engagement Index、略してMEI、Chromeの方法は、ユーザーのこのWebページとの以前のやり取りに基づいて、ページの自動再生オーディオを許可することです。これはに行くことによってのように見えます

chrome:// media-engagement /

MEIはユーザープロファイルごとに計算され、シークレットモードで保持されます。

media engagement

WEBKIT/SAFARI自動再生ポリシー:

https://webkit.org/blog/7734/auto-play-policy-changes-for-macos/

FIREFOX自動再生の改善:

https://www.ghacks.net/2018/09/21/firefox-improved-autoplay-blocking/

注:メディア要素が再生されると想定しないでください。また、最初から一時停止ボタンを表示しないでください。 HTMLMediaElementのplay関数によって返されたPromiseを見て、それが拒否されたかどうかを確認します。

var promise = document.querySelector('video').play();

if (promise !== undefined) {
    promise.catch(error => {
        // Auto-play was prevented
        // Show a UI element to let the user manually start playback
    }).then(() => {
        // Auto-play started
    });
}
5
Manshoor Ahmad

<iframe>allow属性を付けると、うまくいきました:

<iframe ... allow="autoplay; fullscreen"></iframe>

これは「Iframe委任」と呼ばれ、ここで説明されています: https://developers.google.com/web/updates/2017/09/autoplay-policy-changes

49
alexhribsek

&muted=1をiFrame srcパスに追加し、属性allow="autoplay"をiFrameに追加する必要があります。これで、VimeoビデオがChromeで自動的に再開されます。

17
Floris

これで、オーディオがミュートされている場合、自動再生ビデオは正常に機能します。ミュートされたパラメーターをapiまたはiframeコード&muted = 1に追加する必要があります。ブラウザー設定を変更して、ミュートされていないビデオの自動再生を許可できます:chrome:// flags /#autoplay-ポリシーデフォルトオプションを「ユーザージェスチャーは不要」に変更します。

ユーザーが動画をクリックすると、ミュートを解除できます!!

3
Antonio Reyes

自動再生+ミュート+時間x秒で開始=

<div>
    <iframe src="https://player.vimeo.com/video/342787403?&autoplay=1&loop=1&title=0&byline=0&portrait=0&muted=1&#t=235s" style="position:absolute;top:0;left:0;width:100%;height:100%;" width="1400" height="900" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen>
    </iframe>
</div>

#tパラメータは最後のパラメータでなければなりません。

2
bcartign

あなたが有料会員であり、背景としてビデオを使いたいなら、これはおそらくあなたが必要とするものです:

?background = 1:このパラメーターは、プレーヤーのすべての要素(再生バー、ボタンなど)、自動再生、ループを自動的に無効にし、ロード時にビデオをミュートします。注:backgroundパラメータは、有料メンバーがホストする動画でのみサポートされています。詳細はこちら。

または、そうでない場合:

?muted = 1このパラメータは、ロード時にビデオを自動的にミュートします。動画が再生されると、視聴者はプレーヤー内の音量バーをクリックして手動でミュートを解除できます。

しかし、それでも電話で機能させることはできません。

0