先週、Brightcove Player 6.22 をプレ・リリースしました。このバージョンでは、お客様やインテグレーターが興味を持つであろう、いくつかの便利な API の変更が行われました。
自動再生設定の拡張
その一環として Video.js 7.1.0我々は autoplay
設定がより強化されました。
現在、この設定は次のいずれかになります。 true
または false
を設定するのと似ています。 autoplay
属性(あるいは <video>
要素。それが true
をクリックすると、プレーヤーは自動再生を試み、ブラウザがそれを阻止する場合、いわゆるBig Play Buttonを表示します。
しかし、自動再生が成功する可能性を高めたい場合もあります。拡張された autoplay
設定は、(既存のBoolean値に加えて)いくつかの新しい文字列値を受け入れることができるようになりました。
Any
設定の追加 {"autoplay": "any"}
を呼び出すことになります。 play()
にあります。 loadstart
イベントを呼び出します。再生に失敗すると、プレーヤーはプレーヤー自身をミュートして play()
をもう一度押してください。それでも再生に失敗する場合は、前回の muted
が復活します。
この値は最も完全な解決策を提供します。 - ミュートされていない自動再生が好ましいですが、ミュートされた自動再生でも構いません。
Muted
設定の追加 {"autoplay": "muted"}
を呼び出すと、プレーヤー自身がミュートされ、その後 play()
にあります。 loadstart
イベントが発生します。
再生に失敗した場合、 muted
が復活します。
この値は、最初の試行で成功する可能性が最も高い値です(ミュートされた自動再生が望ましい場合)。
Play
最後に、設定を追加する、 {"autoplay": "play"}
を呼び出すことになります。 play()
にあります。 loadstart
イベント。
これが成功する可能性は、次のような設定になります。 autoplay: true
.
カタログ・プラグインの改良
注意点:: 当面の間、これらの機能はカタログ・プラグインのメソッドを通じてのみ利用可能です。 data-
の属性を持ちます。
APIの標準化
カタログ・プラグインに加えた最大の変更は、長年にわたってメソッド間に細かな不整合を抱えるようになったライブラリAPIを標準化する努力の一環です。
この努力の真の目的は、共通のものを追加することでした。 get()
メソッドは、すべてのリクエストタイプで動作し、単一の引数を取ります。 カタログ・パラメータ・オブジェクト (後述) その get()
メソッドは Promise
オブジェクトがあります。
例えば、一般的な get()
メソッドは次のようになります:
// Request a video from the Playback API.
player.catalog.get({
type: 'video',
id: '123456789',
adConfigId: 'abc123'
})
// The request succeeded, load the video data into the player.
.then(function(data) {
player.catalog.load(data);
})
// The request failed.
.catch(function(err) {
videojs.log.error(err);
});
さらに、この取り組みには、既存のメソッドの下位互換性のある変更も含まれています。 getVideo
, getPlaylist
, getSearch
, getSequence
+ getLazySequence
これらの変更は以下の通りです:
getVideo
,getPlaylist
+getSearch
現在の実装の代わりに、カタログ・パラメータ・オブジェクトを第一引数に取ることができるようになりました。- すべてのメソッドの第3引数、
adConfigId
は非推奨となリました。カタログ・パラメータ・オブジェクトをadConfigId
プロパティに使用します。 - 各メソッドは、依然として2番目の
callback
引数を返しXMLHttpRequest
オブジェクト。もしくは、Promise
を使用するのが望ましいです。get()
メソッドを使用します。
重要なのは、これらの変更はすべて後方互換性があるということです。既存のコードを変更する必要はありません!
例えば、上記のビデオ・リクエストは、古いスタイルでも可能です:
// Request a video from the Playback API.
player.catalog.getVideo('123456789', function(err, data) {
// The request failed.
if (err) {
return;
}
// The request succeeded, load the video data into the player.
player.catalog.load(data);
}, 'abc123');
カタログ・パラメータ・オブジェクト
これは、今後ブライトコーブ・プレーヤーからPlayback API へのリクエストを記述する際の基本として使用したい規約です。
すべての get*
のメソッドがあります。
値はすべて文字列でなければならない。
名称 | 説明 |
---|---|
type |
リクエストの種類。以下のいずれかでなければならない。 'video' , 'playlist' あるいは 'search' . |
accountId |
データ取得元のアカウントID。デフォルトは選手のアカウントIDです。 |
policyKey |
このアカウントのポリシーキー。デフォルトはプレーヤーのポリシーキーです。 |
id |
ビデオまたはプレイリストの ID、または参照 ID の先頭に 'ref:' . 必須: ビデオやプレイリストのリクエストのために。 |
q |
searchクエリ。 必須: searchリクエストの場合( id は非推奨)、それ以外は無視されます。 |
adConfigId |
A Video Could SSAI広告設定ID。 |
tveToken |
クエリ文字列パラメータとして送信されるオプションのTVEトークン。 |
limit |
playlistとsearchタイプでのみサポートされています。返されるビデオの数を制限します。 |
offset |
playlistsearchタイプのみサポートします。スキップするビデオの数。 |
sort |
検索タイプのみサポートします。検索のためにビデオをどのようにソートするかに利用します。 |
注意点::後方互換性のために、非推奨となりました。 id
パラメータを使用します。 検索 タイプは id
パラメータの代わりにsearchクエリとしてサポートされています。 q
について 検索 種類とシーケンス id
パラメータは、カタログ・パラメータ・オブジェクトでもあるサブオブジェクトを含むことができる。
プレイリストの制限とオフセット
この標準化の結果として、我々は以下のサポートを追加しました。 limit
& offset
クエリーパラメーターが追加されました。これにより、より長いプレイリスト・サイズやプレイリストのページ付けが可能になります。これらは getPlaylist()
関数は、このようになります:
// Request a playlist from the Playback API.
player.catalog.getPlaylist({
id: '123456789',
limit: '25',
offset: '0'
}, function(err, data) {
// If there is an error object, the request failed.
if (err) {
return;
}
// The request succeeded, load the playlist data into the player.
player.catalog.load(data);
});
結論
Brightcove Player 6.22 の新機能に、私たちはとても興奮しています。このバージョンは現在プレリリースの状態ですが、自動更新プレーヤーの皆様には近日中に配布する予定です。