これまでに、Flashビデオの作成と、Webページでの表示について学習しました。次のステップは、Flashの強みを活かしてビデオをコンテンツと同期させ、ムービーの表示にキャプションを付けることになります。Flash CS3 Professionalには、テキスト、アニメーション、グラフィックおよびキャプションをビデオの時間のポイントと同期させることのできる様々な機能が用意されています。
このセクションでは、ビデオキューポイントの操作の基本や、ActionScript 3.0コンポーネントのビデオキャプションのための新機能など、コンテンツの同期とキャプションに関連する主な概念の概要を紹介します。
ビデオの同期の詳細な記事およびサンプルファイルについて詳しくは、「Flash video templates*」ページを参照してください。
キューポイントとは、コンテンツやアクティビティを同期させる時間を指定するためにFLVファイルに配置するマーカーです。キューポイントの基本を理解すれば、ビデオを他のタイプのFlashコンテンツと様々な形で組み合わせて使用できるようになります。
キューポイントには、ナビゲーション、イベントおよびActionScriptの3タイプがあります。ナビゲーションキューポイントとイベントキューポイントは、エンコーディング時に直接FLVファイルに埋め込まれます。ナビゲーションキューポイントは、ビデオ内の正確な位置への移動が必要とされるFlashユーザインターフェイスにうってつけです。エンコーダにより、キューポイントが追加された場所にキーフレーム全体が強制的に配置されるため、そのポイントへの正確な移動が可能になります。イベントキューポイントもエンコーディング時に埋め込まれます。イベントキューポイントを使用すると、ビデオの時間をTimed Textキャプションファイルやその他のイベントと同期させることができます。ActionScriptキューポイントはFLVファイルには埋め込まれず、ActionScriptによって実行時に追加されます。
注意:プログレッシブ配信のビデオの時間を正確にシークするには、直接ビデオに埋め込まれたナビゲーションキューポイントを使用するしかありません。ボタンを使ってビデオの特定の時間にジャンプできるようなインターフェイスを作成する場合は、キューポイントをエンコーディング時に直接ビデオに埋め込むことをお勧めします。
ナビゲーションキューポイントとイベントキューポイントは、Flashビデオの読み込みウィザードまたはFlash CS3 Video Encoderを使用してエンコーディング時に追加します。ActionScriptキューポイントは、ムービーのオーサリング時にプロパティインスペクタでFLVPlaybackコンポーネントのcuePointパラメータを使用して追加するか、実行時にActionScriptを使用して追加します。
注意:キューポイントは、Flashビデオの読み込みウィザードまたはFlash CS3 Video Encoderを使用してエンコーディング時にXMLファイルに書き出すことができます。保存したXMLファイルを読み込んで他のビデオで使用すると、一貫性を確保し、製作時の時間を節約できます。
キューポイントを作成したら、少量のFlash ActionScriptコードを使用してキューポイントに応答する必要があります。Flashムービーからは、ActionScriptのイベントとしてキューポイントを使用できます。ActionScriptのイベントは、なにか(イベント)が発生したときにそれに応答できるようにするためのタイミングフックです。cuePointイベントに応答するには、コンポーネントのイベントをリスンする標準のコードパターンを適用する必要があります。この手順は、ActionScript 2.0バージョンとActionScript 3.0バージョンのどちらのFLVPlaybackコンポーネントを使用するかによって多少異なります
ActionScript 2.0のビデオイベントとキューポイントパラメータの処理のドキュメンテーションについては、Flash LiveDocsの「cuePointイベントの監視」セクションを参照してください(ActionScript 2.0コンポーネントリファレンスガイド/FLVPlaybackコンポーネント/キューポイントの使用/cuePointイベントの監視)。
ActionScript 3.0のビデオイベントとキューポイントパラメータの処理のドキュメンテーションについては、Flash LiveDocsの「cuePointイベントの監視」セクションを参照してください(ActionScript 3.0コンポーネントガイド/FLVPlayback コンポーネントの使用/FLVPlayback コンポーネントの使用/キューポイントの使用/cuePointイベントの監視)。
ActionScriptでキューポイントイベントをキャッチすると、そのキューポイントに関する情報を含むイベントオブジェクトがイベントハンドラ関数に渡されます。この情報を使用して、イベントに応答して実行する操作を決定するため、これは重要です。
キューポイントイベントオブジェクトのinfoプロパティには以下のプロパティが含まれています。
キューポイントイベントの通知に応答するコードを記述し、キューポイントパラメータにアクセスできるようになったら、正しいタイミングでオーサリングできるので、なんらかの処理を実行する必要があります。ビデオをFlashコンテンツに同期させる方法としては、キューポイントの名前と同じフレームラベルを含むフレームに移動する方法(タイムラインベースのファイルの場合)と、キューポイントの名前と同じ名前のスライドに移動する方法(スクリーンベースのファイルの場合)の2つの方法が最も一般的です。ここでポイントとなるのは、ビデオの対応する時間に表示するコンテンツを含むFlash内の場所に移動するための手段として、キューポイントの名前を使用することです。
以下のリストは、Flashタイムラインに沿ってテキストやグラフィックと同期するビデオを含むFlashファイルを作成する際の一般的な手順を示しています。
ActionScript 3.0バージョンのFLVPlaybackコンポーネントには、新しいFLVPlaybackCaptioningコンポーネントが含まれています。FLVPlaybackCaptioningコンポーネントを使用すると、アクセシビリティや標準のテキストキャプションのためのキャプションコンテンツを簡単に追加できます。
ActionScript 3.0コンポーネントでは、次の2つの方法でキャプションテキストを追加できます。
どちらの方法を使用しても、キャプションをビデオの再生中のタイミングの特定のポイントに連動させることができます。この場合、FLVPlaybackCaptioningコンポーネントは、FLVPlaybackコンポーネントと同じタイムラインに配置されると、キューポイントイベントと時間を自動的にリスンするため、同期の処理が自動的に行われます。キャプションを作成する場合は、ActionScriptコードを記述する必要はありません(コンポーネントによって自動的に処理されます)。
FLVPlaybackCaptioningコンポーネントには次のような機能があります。
ActionScript 3.0 FLVPlaybackのキャプションの操作のドキュメンテーションについては、Flash LiveDocsの「FLVPlaybackCaptioningコンポーネントの使用」セクションを参照してください(ActionScript 3.0コンポーネントガイド/FLVPlaybackCaptioningコンポーネントの使用)。