このトピックでは、VideoPlayer および VideoDisplay コンポーネントによってディスパッチされるイベントのモデルについて説明します。従来のバージョンで、VideoPlayer および VideoDisplay コンポーネントによってディスパッチされていたイベントは、Video Cloud 3.2 リリースで非推奨になりました(ただし、非推奨となったこれらのイベントは、下位互換性を確保するために使用することはできます)。代わりに、Video Cloud では新しい MediaEvent を提供します。MediaEvent は、プログレッシブ ダウンロードおよびストリーミング コンテンツのイベント動作に一貫性を持たせるために使用されます。非推奨になった VideoEvent と同様、MediaEvent にも、位置および長さのプロパティに加え、イベントがディスパッチされた MediaDTO への参照を保持するメディア プロパティが含まれています。古い VideoEvent を継続して使用せずに、これらの新しいイベントを使用することをお勧めします。
この文書では、Video Cloud プレーヤの Flash バージョンのためのソリューションについて説明します。Video Cloud は、プレーヤのカスタマイズおよび動的ソリューションの開発用に 2 つの API をサポートしています。その 1 つが、Video Cloud Flash Player 用ソリューションのための Flash 専用プレーヤ API であり、もう 1 つがスマート プレーヤ用ソリューションのためのスマート プレーヤ API です。スマート プレーヤは、Flash がサポートされている場合には Video Cloud プレーヤの Flash バージョンとして機能し、されていない場合には HTML バージョンとして機能します。スマート プレーヤ用の動的ソリューション作成の詳細については「スマート プレーヤ API を使用する」を参照してください。
Brightcove 3.2 での Flash 専用プレーヤ API の変更点について詳しくは、「Video Cloud プレーヤ API の変更点」を参照してください。Flash 専用プレーヤ API のイベントに関するリファレンス情報については、「Flash 専用プレーヤ API リファレンス」を参照してください。非推奨になったイベントのリストについては、以下の非推奨のイベントを参照してください。
| 文字列のタイプ | プレーヤ API SWC の定数 JavaScript API の定数 |
説明 |
|---|---|---|
| "mediaChange" | MediaEvent.CHANGE BCMediaEvent.CHANGE |
新しいメディアが動画プレーヤにロードされたり、キューされたりするとディスパッチされます。 |
| "mediaBegin" | MediaEvent.BEGIN BCMediaEvent.BEGIN |
メディアのバッファ後、初回再生時にディスパッチされます。これは、以前の「streamStart」に相当するもので、追跡目的で使用されます。メディア オブジェクトに対して 1 回しかディスパッチされないので、2 回目以降の再生時にはディスパッチされません(ただし、1 回目のメディア再生後に別のメディアが再生され、そのあとにメディアが再度ロードされた場合は除く)。 |
| "mediaComplete" | MediaEvent.COMPLETE BCMediaEvent.COMPLETE |
メディアの再生が完了したときにディスパッチされます。1 つのメディアに対し、1 回しか発生しません(ただし、1 回目のメディア再生後に別のメディアが再生され、そのあとにメディアが再度ロードされ、完了した場合は除く)。 |
| "mediaPlay" | MediaEvent.PLAY BCMediaEvent.PLAY |
メディアの再生が初めて開始したとき、または一時停止後に再開されたときにディスパッチされます。 |
| "mediaStop" | MediaEvent.STOP BCMediaEvent.STOP |
メディアが一時停止したとき、および、過去に再生されたメディアが最終的に完了したときにディスパッチされます(2 回目の再生の場合は、COMPLETE は発生しません)。 |
| "mediaBufferBegin" | MediaEvent.BUFFER_BEGIN BCMediaEvent.BUFFER_BEGIN |
メディアがバッファリングするために一時停止したときにディスパッチされます。 |
| "mediaBufferComplete" | MediaEvent.BUFFER_COMPLETE BCMediaEvent.BUFFER_COMPLETE |
メディアのバッファリングが完了したときにディスパッチされます。常に BUFFER_BEGIN とペアになります。BUFFER_BEGIN と BUFFER_COMPLETE の間には、他のイベントは入りません。 |
| "mediaSeek" | MediaEvent.SEEK BCMediaEvent.SEEK |
API の seek() メソッドを使用したり、プレイヘッドをドラッグしたりしたことにより、メディアが新しい位置に送られたときにディスパッチされます。 |
| "mediaProgress" | MediaEvent.PROGRESS BCMediaEvent.PROGRESS |
メディアの再生中に、フレームごとにディスパッチされます。 |
| "mediaError" | MediaEvent.ERROR BCMediaEvent.ERROR |
メディアへの接続、またはメディアのロードにエラーが発生すると、ディスパッチされます。 |
| "mediaVolumeChange" | MediaEvent.VOLUME_CHANGE BCMediaEvent.VOLUME_CHANGE |
API の setVolume() メソッドを使用したり、ボリューム コントロールをドラッグしたりしたことにより、メディアの音量が変わったときにディスパッチされます。 |
| "mediaMuteChange" | MediaEvent.MUTE_CHANGE BCMediaEvent.MUTE_CHANGE |
API の mute() メソッドを使用したり、ミュート コントロールをクリックしたりすることにより、プレーヤのミュート設定(ミュートまたはミュート解除)が変更されたときにディスパッチされます。 |
MediaEvents では、次の動作が予想されます。
異なる種類のメディア、およびメディア再生のイベントの統一性には、既知の例外がいくつかあります。
VideoPlayer Module 内の以下のイベントは非推奨になりました。代わりに、新しい MediaEvent を使用してください。
videoChange
videoLoad
streamStart
videoComplete
videoStart
videoStop
startBuffering
endBuffering
seek
videoProgress
volumeChange
mute