• 検索結果がありません。

要素のグループ化

ドキュメント内 RealPlayer SMIL コンテンツクリエーション (ページ 31-36)

2 テキストの表示

4.4 要素のグループ化

3 章では、要素をグループ化するタグについて簡単に説明しましたが、ここでは、

さらに詳細にグループ化を説明します。

4.4.1シーケンスグループの例

シーケンスグループは<seq>…</seq>タグで囲まれ、このタグ内の要素を上から 順番に再生します。以下の例は 3 つのビデオクリップを順番に再生します。

group_sequece.smil の再生例

group_seqence.smil

<smil xmlns="http://www.w3.org/2001/SMIL20/Language">

<head>

<layout>

<root-layout width="320" height="240" backgroundColor="black"/>

<region id="video_region" left="40" top="30" width="240"

height="180" fit="fill"/>

</layout>

</head>

<body>

<seq>

<video src="../clips/video1.rm" region="video_region"/>

<video src="../clips/video2.rm" region="video_region"/>

<video src="../clips/video3.rm" region="video_region"/>

</seq>

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

30

</body>

</smil>

この例では、各 video1.rm、video2.rm、video3.rm のサイズがそれぞれ異なるの で、<region…/>タグの fit=”fill”で領域のサイズに適合するようにしています。

4.4.2パラレルグループの例

パラレルグループは、<par>…</par>タグで囲まれ、このタグで囲まれた要素を 同時に再生します。パラレルグループの例は、前節で説明していますので、ここ では、グループのグループ化を説明します。以下の例は、シーケンスグループ の 3 番目の要素がパラレルグループになっています。このようにグループは入 れ子にすることができます。

group_sequence_para.smil の再生例

group_sequence_para.smil

<smil xmlns="http://www.w3.org/2001/SMIL20/Language">

<head>

<layout>

<root-layout width="320" height="240" backgroundColor="black"/>

<region id="video_region" left="40" top="30" width="240"

height="180" fit="fill" z-index="1"/>

<region id="logo_region" right="5%" bottom="5%" width="58"

height="49" z-index="2"/>

</layout>

</head>

<body>

<seq>

<video src="../clips/video1.rm" region="video_region"/>

<video src="../clips/video2.rm" region="video_region"/>

<par>

<video src="../clips/video3.rm" region="video_region"/>

<img src="../clips/logo.gif" dur="10s" region="logo_region"

fill="freeze"/>

</par>

</seq>

</body>

</smil>

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

31

追加情報:シーケンスグループでのバッファリング 例えば、以下のように単純に

<seq>

<video src=”video1.rm” … />

<video src=”video2.rm” … />

</seq>

としてシーケンスグループを作成した場合、SMIL1.0 では video1.rm の再生が終 了してから、video2.rm を再生開始の間にバッファリングが起こります。これを避 けるためには、以下のようにシーケンスグループ自体をパラレルグループに入 れます。

<!--SMIL1.0 でのバッファリングを避ける記述-- >

<par>

<seq>

<video src=”video1.rm” … />

<video src=”video2.rm” … />

</seq>

</par>

しかし、SMIL2.0 では、このようにグループを入れ子にしなくても、バッファリング は起こりません。

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

32

4.4.3エクスクルーシブグループ

エクスクルーシブグループは<excl>…<excl>タグで囲まれ、このタグで囲まれた 要素は、1 度に 1 つの要素しか再生しません。シーケンスグループも 1 度に 1 つ の要素しか再生しませんが、シーケンスグループの場合は、要素は予め決めら れた順番(<seq>…</seq>タグの間の最初の要素から最後の要素)で再生され ます。これに対して、エクスクルーシブグループでは、再生の順番は決まってい ないので、例えばユーザーがマウスでボタン画像をクリックした時に、選択した ビデオが再生されるようなプレゼンテーションが作成できます。

以下の例では、プレゼンテーションを再生したばかりの状態ではビデオは表示さ れません。ユーザーがボタン 1、ボタン 2、ボタン 3 のどれかをクリックすると、ビ デオが再生されます(group_excl.smil)。

再生したばかりの状態

group_excl.smil

<smil xmlns="http://www.w3.org/2001/SMIL20/Language">

<head>

<layout>

<root-layout width="384" height="240" backgroundColor="black"/>

<region id="video_region" width="240" height="180" top="30"

ボタン 1 を押した場合

ボタン2を押した場合

ボタン3を押した場合

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

33

left="40" fit="fill"/>

<region id="button_region1" height="64" width="64" top="8"

left="300"/>

<region id="button_region2" height="64" width="64" top="88"

left="300"/>

<region id="button_region3" height="64" width="64" top="168"

left="300"/>

</layout>

</head>

<body>

<par>

<img src="../clips/number1.png" id="button1"

region="button_region1" dur="10s" fill="hold"/>

<img src="../clips/number2.png" id="button2"

region="button_region2" dur="10s" fill="hold"/>

<img src="../clips/number3.png" id="button3"

region="button_region3" dur="10s" fill="hold"/>

<excl dur="indefinite">

<video src="../clips/video1.rm" begin="button1.activateEvent"

region="video_region" fill="remove"/>

<video src="../clips/video2.rm" begin="button2.activateEvent"

region="video_region" fill="remove"/>

<video src="../clips/video3.rm" begin="button3.activateEvent"

region="video_region" fill="remove"/>

</excl>

</par>

</body>

</smil>

この例では、レイアウトパートで、1 つのビデオ表示領域(video_region)と、3 つの ボタン画像領域(button_region1、button_region2、button_region3)を作成してい ます。ボディパートでは、2 つのボタン画像と 1 つのエクスクルーシブグループを

<par>…</par>タグで囲み同時再生します。ボタン画像は、パラレルグループが 終了するまで、表示を続けるように fill=”hold”属性を使用しています。さらに各ボ タン画像にはユニークな id をつけています(button1、button2、button3)。

エクスクルーシブグループは、dur=”indefinite”によって、再生時間は無限、すな わち、常にアクティブな状態にしておきます。エクスクルーシブ内の各ビデオクリ ップの開始時間は begin=”ボタン ID.activateEvent”を指定することで、ボタン画像 が ク リ ッ ク さ れ た 時 に 、 再 生 を 開 始 し ま す 。 ま た 、 再 生 が 終 了 し た ら 、 fill=”remove”でビデオクリップは非表示になります。ビデオの開始時間をマウス クリックでインタラクティブに設定する方法は、次の第 5 章で説明します。

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

………..

34

5 イベント

この章では、イベントについて説明します。イベントが発生することによって、要 素を開始または停止することができます。したがって、イベントはイベントを起こ す要素とイベントを受け取る要素の 2 つの要素から構成されます。

ドキュメント内 RealPlayer SMIL コンテンツクリエーション (ページ 31-36)

関連したドキュメント