次のChrome&Firefoxの最近のアップデートの自動再生動画はサポートされなくなりました-起動時にこれを再生するコードを追加しようとしましたが、動作しないようです?
var vid = document.getElementById("attractor");
function playVid() {
vid.play();
}
誰かがこれの回避策を見つけましたか?
私たちは多くのタッチスクリーンインタラクティブを行っており、この方法をアトラクタビデオに依存しています。
autoplayは、このように、デフォルトでmutedと指定した場合にのみ機能します。
<video autoplay muted>
<source src="video.mp4" type="video/mp4"></source>
</video>
心配しないでください。ユーザーは、html5ビデオ要素の一部としてビデオのミュートを解除できます。
ビデオを自動再生し、コンソールでのjsエラーを回避する方法を見つけました。
const myVideo = document.getElementById('my-video');
// Not all browsers return promise from .play().
const playPromise = myVideo.play() || Promise.reject('');
playPromise.then(() => {
// Video could be autoplayed, do nothing.
}).catch(err => {
// Video couldn't be autoplayed because of autoplay policy. Mute it and play.
myVideo.muted = true;
myVideo.play();
});
<video id="my-video" src="https://sample-videos.com/video123/mp4/240/big_buck_bunny_240p_2mb.mp4">
このコードは、音声付きの自動再生を開始しようとします。それができない場合は、ビデオをミュートし、音声なしでビデオを自動再生します。私はそれが最適な方法だと思い、JSエラーを防ぎます。
allow="autoplay;"
をiframeに追加します<iframe allow="autoplay;" ... >
video
タグを使用しているとき、自動再生するには動画をミュートにする必要があることに気付きました。音声付きの動画は再生したくありませんでした。 html5ビデオを埋め込む方法は次のとおりです https://www.w3schools.com/html/html5_video.asp 。この方法を使用する場合は、Miro Video Converterをダウンロードできます http://www.mirovideoconverter.com/ これを使用して、ビデオをエンコードします。ビデオのダウンサイジングですばらしい仕事をします!?autoplay=1
を追加し、vimeoでもautopause=0
を次のようなURLに追加します:https://player.vimeo.com/video/{video_id}?autoplay=1&loop=1&autopause=0
、function onPlayerReady(event) {
event.target.playVideo();
}
https://www.youtube.com/embed/{video_id}
推奨されるソリューション:
https://vimeo.com/manage/{video_id}/embed
を見つけて、埋め込み動画を設定します<iframe frameborder="0"
height="100%"
width="100%"
id="background-video"
src="https://player.vimeo.com/video/356828095?autoplay=1&loop=1&autopause=0"
allow="autoplay; fullscreen">
</iframe>
これは自動再生とループを行います。 4. CSSを使用してビデオのサイズを設定します。 width: 100%
。 5.これで、ビデオの周りに黒いフレームが不要になるので、iframeのサイズを変更して、高さを幅に比例させましょう。私の場合、ビデオは1920x1080pxです。
<script type="text/javascript">
var width = window.innerWidth;
var height = (width * 1080) / 1920
document.getElementsByTagName('iframe')[0].style.height = height + 'px';
</script>
ページの背景としてビデオがループ再生されています。次のようなマウスイベントを無効にしました(CSSスタイルで)。
#background-video {
pointer-events: none;
}
何かを見逃した場合はお知らせください。これらの手順を更新します!
私はそれを理解しました...これをアドレスバーに入力してください:
chrome://flags/#autoplay-policy
[ユーザージェスチャーは必要ありません]を選択します
...これは明らかにあなたのコンピュータでのみ機能するでしょう!