web-dev-qa-db-ja.com

Vimeoビデオの自動再生がSafari11で機能しない:NotAllowedError

Safariのバージョン11への最後の更新以降、一部のビデオが機能しなくなりました。最悪の場合、5回に1回のように、機能することがあります。その理由は、Vimeo Player APIを統合したJSスクリプトにあると思いましたが、Vimeoの埋め込みリンクでさえまったく機能しないことになります。

そのため、Safari 11で埋め込みビデオを開くと、ビデオは起動せず、完全にブロックされます。開くと表示されます。つまり https://player.vimeo.com/video/XXXXXXXX?autoplay=1

コンソールログでは、次のようなものを取得できます。

Unhandled Promise Rejection: NotAllowedError (DOM Exception 35): The request is not allowed by the user agent or the platform in the current context, possibly because the user denied permission.

6

backgroundURLパラメータをiframesrcに追加できます。

<iframe src="https://player.vimeo.com/video/XXXXXXXX?autoplay=1&background=1>

ビデオにサウンドがある場合は、サウンドトラックをまったく使用せずにビデオを再度エクスポートすることもできます。おそらくbackgroundパラメータはまったく必要ありません。

キャッチは、Safari 11がサウンドを含んでいる場合、すべてのビデオの自動再生をブロックしていることです。

enter image description here

私の場合のように、ビデオにサウンドレベルがない場合でも、ボリュームのないサウンドでエクスポートされます。アドレスバーにsovolumeアイコンが表示されます。

enter image description here

5

iOSのサポート:iOS 10以降では、ビデオの自動再生がサポートされていますが、タグにplaysinline属性が必要です。

0
Thylle

サファリはすべてのビデオの自動再生を許可していないためです。 mousemoveイベントリスナーを追加できます。マウスが動くと、ビデオの再生が始まります。次に、このイベントを削除する必要があります。

0
steven lee