前回 video タグに関しては下記の3点を調べました。
※Windows10・iPhoneのブラウザが対象(Android・MACは調査できていません…)
- videoタグで通常再生できるかどうか?
- videoタグで自動再生できるかどうか?
- javascript(クリックイベント)で再生できるかどうか?
videoタグをjavascriptで動かすときの制限を覚えられません。 毎回、パソコンだと基本的に再生も自動再生もできて、スマホだと音なしであれば自動再生できて…、でもできないのもあってと、いつも悩んでしまいます。 と …
それら以外に調べたいことがでてきましたので、今回はそれらを調査してみます。調べたい内容は下記2点です。
- javascriptで自動再生できるかどうか?
- javascriptでミュートに変更して、自動再生できるかどうか
javascriptでの自動再生ソース
javascriptで読み込み時再生&muted(ミュート)なし
※videoタグに「video1」というクラスを指定しています
// 再生のみ(読み込み時) $('.video1').get(0).play();
javascriptで読み込み時再生&muted(ミュート)あり
※videoタグに「video2」というクラスを指定しています
// ミュートを設定し、再生 $('.video2').play(); $('.video2').get(0).play();
javascriptでmuted(ミュート)設定&javascriptで読み込み時再生&muted(ミュート)なし
※videoタグに「video3」というクラスを指定しています
// 再生のみ(読み込み時) $('.video3').get(0).play();
javascriptでの自動再生に関しての結果(まとめ)
javascriptでの自動再生はミュートの設定有無に関わらずパソコン(windows10)でもiPhoneともに同じ結果となりました。
結果はパソコン(windows10)のIE11、Edgeはミュートの設定有無に関わらず自動再生できました。それ以外は自動再生できませんでした。
自動再生できない理由は下記から推測できました。Firefoxでの実行時エラーです。
Firefoxエラーを引用。以下Google翻訳より引用
NotAllowedError:おそらくユーザーが権限を拒否したため、現在のコンテキストではユーザーエージェントまたはプラットフォームによって再生メソッドが許可されていません。
「ユーザによってplayは許可されませんでした」といった内容です。
”読み込み時”は再生ボタンやクリックイベントなどとは違い、ユーザの意思がないため許可されないのだと思います。たしかに、動画の再生は音声を伴ったり、通信量が多かったりと勝手に再生されると困ることが多いと思います。よって、それを考慮してある程度抑制する仕様なのでしょう。
「videoタグを設置しての実験」にて調べた結果をまとめておきます。
※全パターン同じ結果でした
▼ javascriptで読み込み時再生&muted(ミュート)なし
OS | ブラウザ | ミュート | JSで再生 |
---|---|---|---|
Win10 | IE11 | OFF | 〇 |
Win10 | Edge44 | OFF | 〇 |
Win10 | Firefox | OFF | × |
Win10 | Chrome | OFF | × |
iOS12.4 | safari12 | OFF | × |
iOS12.4 | Chrome | OFF | × |
▼ javascriptで読み込み時再生&muted(ミュート)あり
OS | ブラウザ | ミュート | JSで再生 |
---|---|---|---|
Win10 | IE11 | ON | 〇 |
Win10 | Edge44 | ON | 〇 |
Win10 | Firefox | ON | × |
Win10 | Chrome | ON | × |
iOS12.4 | safari12 | ON | × |
iOS12.4 | Chrome | ON | × |
▼ javascriptでmuted(ミュート)設定&javascriptで読み込み時再生&muted(ミュート)なし
OS | ブラウザ | ミュート | JSで再生 |
---|---|---|---|
Win10 | IE11 | JSでON | 〇 |
Win10 | Edge44 | JSでON | 〇 |
Win10 | Firefox | JSでON | × |
Win10 | Chrome | JSでON | × |
iOS12.4 | safari12 | JSでON | × |
iOS12.4 | Chrome | JSでON | × |
※Chrome、Firefoxは最新
videoタグを設置しての実験
下記の設定で各ブラウザおよびスマホ端末(iPhone)でチェックしてみました。
javascriptで自動再生(ミュートなし)
muted(ミュート) の設定なしのvideoタグを設置しました。
読み込み時にjavascript(jquery)のplayメソッドを実行して自動再生させています。
※結果は動画の下をご覧ください
私が試せるものに限定されますが、「javascriptでの再生」は、IEとEdgeが再生されました。その他は再生されませんでした。
OS | ブラウザ | ミュート | JSで再生 |
---|---|---|---|
Win10 | IE11 | OFF | 〇 |
Win10 | Edge44 | OFF | 〇 |
Win10 | Firefox | OFF | × |
Win10 | Chrome | OFF | × |
iOS12.4 | safari12 | OFF | × |
iOS12.4 | Chrome | OFF | × |
※Chrome、Firefoxは最新
※ミュートOFFとは音ありのこと
javascriptで自動再生(ミュートあり)
muted(ミュート) の設定ありのvideoタグを設置しました。
読み込み時にjavascript(jquery)のplayメソッドを実行して自動再生させています。
※結果は動画の下をご覧ください
私が試せるものに限定されますが、「javascriptでの再生」は、IEとEdgeが再生されました。その他は再生されませんでした。
OS | ブラウザ | ミュート | JSで再生 |
---|---|---|---|
Win10 | IE11 | ON | 〇 |
Win10 | Edge44 | ON | 〇 |
Win10 | Firefox | ON | × |
Win10 | Chrome | ON | × |
iOS12.4 | safari12 | ON | × |
iOS12.4 | Chrome | ON | × |
※Chrome、Firefoxは最新
※ミュートONとは音なしのこと
javascriptでミュートなし設定&javascriptで自動再生
muted(ミュート) の設定なしのvideoタグを設置しました。
読み込み時にjavascript(jquery)でミュートにしてから、javascript(jquery)のplayメソッドを実行して自動再生させています。
※結果は動画の下をご覧ください
私が試せるものに限定されますが、「javascriptでの再生」は、IEとEdgeが再生されました。その他は再生されませんでした。
OS | ブラウザ | ミュート | JSで再生 |
---|---|---|---|
Win10 | IE11 | JSでON | 〇 |
Win10 | Edge44 | JSでON | 〇 |
Win10 | Firefox | JSでON | × |
Win10 | Chrome | JSでON | × |
iOS12.4 | safari12 | JSでON | × |
iOS12.4 | Chrome | JSでON | × |
※Chrome、Firefoxは最新
※ミュートJSでONとは音ありの状態をjavascriptで音なしにするということ
関連ページ
通常再生やクリックイベントからjavascriptでの再生、videoタグの自動再生属性について調べた結果は↓こちらをご覧ください。
videoタグをjavascriptで動かすときの制限を覚えられません。 毎回、パソコンだと基本的に再生も自動再生もできて、スマホだと音なしであれば自動再生できて…、でもできないのもあってと、いつも悩んでしまいます。 と …
2つの調査結果をまとめました。
ホームページに動画を埋め込むことがあります。Youtubeで埋め込んだりvimeoで埋め込んだり、videoタグで埋め込んだり様々です。 今回はvideoタグで埋め込んだ場合の動きについてまとめます。 videoタグの自 …
スポンサーリンク