自動再生に関する考慮事項
概要
ページの読み込み時に Brightcove Player を使用して動画を自動再生するのは簡単な問題ではありません。これは、ユーザーが動画を自動再生しないという要望に応えるブラウザベンダーによるものです。このドキュメントでは、自動再生に影響する Brightcove Player の設定と、さまざまなブラウザでの自動再生の現在の状態について詳しく説明します。
私たちは、利用可能なテストケースのセットを持っています。
一番下の行
詳細なしで、私たちの最高のアドバイスが欲しいだけなら:
-
クライアントサイド広告なしで自動再生
-
次の手順は、クライアントサイド広告なしまたは SSAI を使用したプレーヤーでの自動再生を成功させるための最良のチャンスを提供します。
autoplay
に設定する"any"
- 設定
playsinline
にtrue
(iPhone用)
-
クライアントサイド広告で自動再生
-
次の手順は、クライアントサイド広告 (IMA3 または FreeWheel) を使用するプレーヤーで自動再生を成功させるための最良のチャンスを提供します。
autoplay
に設定するtrue
- 設定
playsinline
にtrue
(iPhone用) - プレーヤーのJSON構成を介して広告プラグインを構成します。 じゃない サイドローディングまたはカスタムバンドルを介して
自動再生の構成
Brightcove Player では、自動再生の 5 つの値をサポートしています。HTML5仕様では、自動再生はブール属性です-それはオン(true
)またはオフ(false
)のいずれかIDです。Brightcove Playerでは、次の 3 つの特別な値を使用できます。
play
:これにより、play()
ソースが設定されているときに Brightcove Player が呼び出されます。muted
:これにより、Brightcove Player はプレーヤーをミュートし、を呼び出しますplay()
。any
:これにより、Brightcove Playerがを呼び出しますplay()
。それが失敗した場合、それはプレーヤーをミュートし、呼び出しますplay()
再び。
これら 3 つの値は、タグ属性ではサポートされていません。
優先順位
次のリストでは、自動再生を設定できるすべての方法と、Brightcove Player の初期化プロセスで優先順位を付ける方法について説明します。
-
ビデオ要素属性
HTML5標準に従い、これは
true
(属性が存在する)またはfalse
(属性が存在しない)のいずれかになります。クエリパラメータ値 (他の場合のみ iframe) が勝つ他のプロパティとは異なり、Video.js では属性が優先されるため、ここで優先されます。
<video-js autoplay controls></video-js>
- URL ハッシュまたはクエリ文字列
ほとんどの場合とは異なり、自動再生クエリ文字列パラメーターまたはURLハッシュパラメーターは、下位互換性の理由から、すべてのタイプの埋め込みで尊重されます。
これは、将来のメジャーリリースでページ内埋め込み用に削除する必要があります。
パラメータの存在は同等です
true
、すなわち?autoplay&foo=bar
、ただし、文字列値はサポートされています。?autoplay=muted&foo=bar
false
クエリ/ハッシュパラメータ経由で自動再生を設定することはできません! -
videojs()
/bc()
Options自動再生オプションは、
bc()
関数に渡すことができます。 -
JSON の設定
オプションで自動再生を使用できない場合は、プレーヤーの JSON 設定から渡された値を使用します。
-
デフォルト
最後に、上記のいずれにも当てはまらない場合、
false
デフォルトはになります。
ブラウザの設定とポリシー
近年、ブラウザの一貫性が高まっていますが、以下のセクションでは、主要なブラウザで利用可能な設定やポリシーについてまとめます。
サファリ (macOS)
macOS の Safari には、次の設定があります。
- すべての自動再生を許可する
- 音でメディアを止める (ディフォルト)
- 自動再生しない
さらに、これらの設定はサイトごとに変更できます。
サファリ (iOSとiPados)
iOS および iPadOS の Safari には、ユーザー向けの自動再生設定はありませんが、次のポリシーを実装しています。
- ミュートされた自動再生は常に機能します
- サウンドで自動再生するにはユーザーのジェスチャーが必要です
- iPhoneでは、
playsinline
属性はすべての場合に必要です。
読んだこのWebKitブログ投稿詳細については。
クロム
Chromeにはユーザー向けの自動再生設定はありませんが、次のポリシーが実装されています。
- ミュートされた自動再生は常に機能するはずですが、それはいつもブラウザまで。発生しないエッジケースがいくつか発生しましたが、それらを制御することはできません。
- 音声による自動再生には、ユーザージェスチャーまたは十分に高いMEI(デスクトップ上)が必要です。
読んだこのChromeブログ投稿詳細については。
Firefoxの
Firefox は、グローバルおよびウェブサイトごとに次の設定を持っています:
- オーディオとビデオを許可する
- オーディオをブロックする (ディフォルト)
- オーディオとビデオをブロックする
エッジ
デフォルトでは、Edgeには次の設定があります。
- 許可する (ディフォルト)
- リミット
ただし、に移動するとedge://flags/#edge-autoplay-user-setting-block-option
、Edge (レガシー) で使用可能だった自動再生をブロックするオプションを復元できます。
エッジ (レガシー)
エッジ (レガシー) には、次の設定がありました。
- 許可する
- リミット
- ブロック
制限オプションは、ミュートされた自動再生またはユーザージェスチャが必要であるという点で、他のブラウザと似ています。
既知の問題
ページ内ソースとプログラムによる自動再生
ページ内ソース(<source>
例えば要素経由)を使用し、play()
文字列ベースの自動再生値を呼び出すか使用すると、既知の問題があります- "play"
、"muted"
、および"any"
。
これはFirefoxで見られましたが、他のブラウザでも見られる可能性があります。
これは、Brightcoveのお客様にとって一般的な使用例ではありません。Video Cloudソースはプレーヤーの作成後に読み込まれるため、この問題は発生しません。
代わりに、あなたは待つ必要がありますcanplay
呼び出す前に発生するイベントplay()
。または、autoplay: true
の設定は、ユーザー設定や環境設定に応じて、期待どおりに動作します。
ima3/フリーホイール
文字列値を自動再生
特殊な文字列ベースの自動再生値- "play"
、"muted"
、および"any"
-は、現在、IMA3 および FreeWheel プラグインと組み合わせてサポートされていません。
ただし、これらのプラグインには独自の自動再生処理があり、autoplay: true
が設定されると、autoplay: "any"
設定されているかのように動作します。
プレロールがないか不良
電話をかけようとした場合play()
これらのプラグインでは、自動再生が失敗し、再生ボタンがクリックされたときにプレロールが再生されない場合があります。
FreeWheelを使用すると、プレロールが再生されるという報告もあります。 後ろ 大きな再生ボタン。
推奨
これらのプラグインを使用する場合、自動再生を有効にする方法は次のとおりです。
- プラグインをプレーヤーにバンドルします(Studio経由など)。 サイドローディング(ページはめ込み)はお勧めしません。
- 特別な自動再生値を使用しないでください。
true
自動再生をに設定し、広告プラグインの再生を許可します。