SMILタグの詳細 : SMILの記述


テキストエディタでSMIL作成
SMILタグの実際
SMILの基本構造は,下記のようになっています。
SMILの基本構造

<smil>
<head>
.............
</head>
<body>
.............
</body>
</smil>


<head>〜</head>の記述
<head>〜</head>には,レイアウト(土台の大きさや,ムービー・画像・テキストなどのクリップの配置)に関する情報を記述します。
  • レイアウトの情報は<layout>〜</layout>タグで規定します。
    <smil>
    <head>
    <layout>
    .............
    </layout>
    </head>
    <body>
    .............
    </body>
    </smil>

  • <layout>〜</layout>タグで囲まれた部分には,土台となる表示領域の大きさを規定する<root-layout />タグを記入します。
    <smil>
    <head>
    <layout>
    <root-layout width="土台の幅" height="土台の高さ" background-color="土台の色" />
    </layout>
    </head>
    <body>
    .............
    </body>
    </smil>
    ※カラーは,「white」「black」「red」「blue」「green」「yellow」「lime」「silver」「olive」「navy」「purple」「maroon」「fuchsia」「gray」「teal」「aqua」などの名称以外にHTML同様のRGB16進数による指定が可能です。


  • <root-layout />タグにつづいて,クリップ(ムービー,画像,テキストなど)を表示する領域を<region />タグで指定します。一つの土台の中に,複数の領域を表示できますから,各表示領域には特定の名前を付けます。名前はid="英数字による名前"の属性値で記述します。また,このid情報を利用することで,同じ領域に複数のクリップを表示できます。
    <smil>
    <head>
    <layout>
    <root-layout width="土台の幅" height="土台の高さ" />
    <region id="英数字による名前" top="土台左端からの距離" left="土台左端からの距離" width="領域の幅" height="領域の高さ" />
    </layout>
    </head>
    <body>
    .............
    </body>
    </smil>

<body>〜</body>の記述
<body>〜</body>では,クリップファイルを指定します。この指定には,クリップの種類によって<img src=".jpg .gif .pngなどの画像ファイル名" /><video src=".mov .qtなどのQuickTimeムービー" /><text src=".txtのテキストファイル" />などが用いられます。
また,これらのクリップを指定するタグは,クリップを表示するタイミングを規定する<sed>〜</seq>,<par>〜</par>タグの中に置きます。

  • <par>〜</par>タグの中に配置されたクリップは,同時に再生されます。この記述例では,ムービーとテキストクリップを同時に表示します。
    <smil>
    <head>
    <layout>
    <root-layout width="土台の幅" height="土台の高さ" />
    <region id="ムービークリップの領域名" top="土台左端からの距離" left="土台左端からの距離" width="領域の幅" height="領域の高さ" />
    <region id="テキストクリップの領域名" top="土台左端からの距離" left="土台左端からの距離" width="領域の幅" height="領域の高さ" />
    </layout>
    </head>
    <body>
    <par>
    <video src=".mov .qtなどのQuickTimeムービー" region="<region>タグで指定したid名" />
    <text src=".txtのテキストファイル" dur="継続時間" region="<region>タグで指定したid名" />
    </par>
    </body>
    </smil>

    ※テキストや画像など,本来継続時間のないクリップは,dur="継続時間"で表示時間を指定します。時間の単位は「ミリ秒(ms)」「秒(s)」「分(min)」「時間(h)」を使用します。この場合,小数点を用いた表記も可能です。また,hh:mm:ss:xy(xは10分の1秒,yは100分の1秒)での表記もできます。

  • <seq>〜</seq>タグの中に配置されたクリップは,順番に再生されます。この記述例では,2つのムービーファイルを順次再生します。
    <smil>
    <head>
    <layout>
    <root-layout width="土台の幅" height="土台の高さ" />
    <region id="ムービークリップの領域名" top="土台左端からの距離" left="土台左端からの距離" width="領域の幅" height="領域の高さ" />
    </layout>
    </head>
    <body>
    <seq>
    <video src=".mov .qtなどのQuickTimeムービー" region="<region>タグで指定したid名" />
    <video src=".mov .qtなどのQuickTimeムービー" region="<region>タグで指定したid名" />
    </seq>
    </body>
    </smil>

  • <par>〜</par>タグの中に<sed>〜</seq>タグを配置することで,複数のクリップを同期して再生することができます。この記述例では,2つのムービークリップとテキストクリップが同期して再生されます。
    <smil>
    <head>
    <layout>
    <root-layout width="土台の幅" height="土台の高さ" />
    <region id="ムービークリップの領域名" top="土台左端からの距離" left="土台左端からの距離" width="領域の幅" height="領域の高さ" />
    <region id="テキストクリップの領域名" top="土台左端からの距離" left="土台左端からの距離" width="領域の幅" height="領域の高さ" />
    </layout>
    </head>
    <body>
    <par>
    <seq>
    <video src=".mov .qtなどのQuickTimeムービー" region="<region>タグで指定したid名" />
    <video src=".mov .qtなどのQuickTimeムービー" region="<region>タグで指定したid名" />
    </seq>
    <seq>
    <text src=".txtのテキストファイル" dur="継続時間" region="<region>タグで指定したid名" />
    <text src=".txtのテキストファイル" dur="継続時間" region="<region>タグで指定したid名" />
    </seq>
    </par>
    </body>
    </smil>

  • サンプルムービーサンプルのソースへ

QuickTimeでSMILを扱うコツ
一般に,SMIL書類の拡張子は「.smi」ですが,QuickTimeでSMILを利用するには,他のムービー同様に「.mov」として,ムービーファイル同様に扱うと便利です。その場合,SMILの最初に(<smil>タグの前に),下記の2行を追加しておく必要があります。
<?xml version="1.0"?>
<?quicktime type="application/smil"?>
また,QuickTime独自の拡張命令を利用できるように,<smil>タグは,下記のように記入しておくとよいでしょう。QuickTimeでSMILを利用する場合は,先の2行のタグと合わせて記述しましょう。
<smil xmlns:qt="http://www.apple.com/quicktime/resources/smilextensions">


oenoki@tku.ac.jp

SMILタグの詳細 : SMILの記述