Windows Media / ASFのストリーミング再生方法

ASFファイル等のプレイリストになるASXファイルの基本的な記述方法です。WindowsMedia関連には他にWAX、WVXという物があります。それについては下の方に説明があります。

基本的なASXメタファイルの記述方法

ASFファイルをストリーミングさせるときに、他RealAudioやMP3ではramファイルやm3u等を作りますがASFファイルにも同じような物があります。
それがASXファイルで、本格的に書くと随分複雑な事も出来るみたいですがとりあえずは初歩的なことから。
基本的にXMLなんかと同じ


<ASX version =" 3.0">
<title>come with us</title>
<Copyright>The Chemical Brothers</Copyright>

<Entry>
<title>Come with us</title>
<Author>The Chemical Brothers</Author>
<Ref href="Come with us.mp3" />
</Entry>

<Entry>
<title>It began in Afrika</title>
<Author>The Chemical Brothers</Author>
<Ref href="It began in Afrika.mp3" />
</Entry>

<Entry>
<title>Galaxy Bounce</title>
<Author>The Chemical Brothers</Author>
<Ref href="Galaxy bounce.mp3" />
</Entry>

<Entry>
<title>STAR GUITAR</title>
<Author>The Chemical Brothers</Author>
<Ref href="Star guitar.mp3" />
</Entry>

</ASX>

とりあえず簡単に書く方法は上の通りです。 順番を追って説明していくと

<ASX version = "3.0">
ASF情報であるという事の記述
<Copyright>The Chemical Brothers</Copyright>
著作権情報です。MediaPlayerの著作権情報欄に表示されます
<Entry>
ここから</Entry>で囲まれている間が1曲(?)分です。
<Title>Come with us</Title>
Entryのタイトル、曲名など。
<Author>The Chemical Brothers</Author>
Entryの製作者名です、今回は著作権所有者名と一緒
<Ref href="comewithus\It began in Afrika.mp3" />
ファイル名を記述。例ではローカルファイルですが勿論httpから始まるURLでもOK
他の要素のように閉じタグがありません、最後が/>となってるところ大事。
それから半角カナが入っていたり256文字以上あったりすると問題がある場合アリなので気をつけて
ファイルタイプがmp3になってますが、勿論asfでも、WAVE、MID等でも問題無いと思います
</Entry>
ここまでで1曲です。2曲目からは同じようにやってOKです。
</ASX>
ASXファイルの記述を終了、最後に書く</HTML>みたいな

ファイル名等を自由に書いてもらって試してみてください。
ここまで書き終わったら拡張子.asxとして保存、メディアプレイヤー等で開いて
問題無く再生できればとりあえずの記述はOKです。
WEB上にアップしたけどNetscape等で上の記述がそのままテキストになる場合はMIMEタイプの
設定を確認してください。
MIME Type設定

ちなみにもっとも単純なASXファイルの記述方法は
<ASX version="3">
 <Entry>
  <ref HREF="sound.asf"/>
 </Entry>
</ASX>

こうなります。
複数の曲を連続して再生したい場合は

<ASX version = "3.0">
 <Title>soundclip title</Title>
    <Entry><Ref href = "001.asf" /></Entry>
    <Entry><Ref href = "002.asf" /></Entry>
    <Entry><Ref href = "003.asf" /></Entry>
    <Entry><Ref href = "004.asf" /></Entry>
</ASX>

このようにEntryとRefを続けてかく事によって可能になります

ファイルのパスについて

基本的に絶対パスでの記述が推奨されていますが、相対パスでも動くようです。念のために絶対パスの方がいいでしょう。
また、 RealPlayerではローカルファイルのパスがUNIX形式?だったんですが、こっちはWindows形式で出来るため結構簡単だと思います。
例)
C:\WINDOWS\desktop\sound.asf

なお、ローカルネットワークのパスも指定できます。
例)
file://\\usergroup\username\sound.asf

ストリーミング再生させるには

上記のようにASXもしくはWAXファイルを作成後、HTMLにおいて作成したメタファイルにリンクを張ればOKです。

<A href="sound.asx">曲デース</A>

このような感じです。
IEの場合でもASXファイル等メタファイルのない場合は再生ボタンを押すまで再生されないので必ずメタファイルを使用してください。

WAXとWVXとの違いは?

ASXとWAX、WVXの違いは?という問題があるんですが
ASXはASFのみに有効、WAXはASFとWindowsMediaAudio、WVXは全てに対して使用可能ということのようです。

  ASF WMA WMV
ASX    
WAX  
WVX


メッセージやバナー表示の為の記述

<ASF version = "3.0">と</ASF>までの間に
<Abstract>〜 </Abstract>を記述する事でプレイヤー上のタイトルにカーソルを合わせたときにポップアップのメッセージを表示させる事が可能です。

Abstractによるポップアップメッセージ

黄色くなっている「Abstractによる〜」という場所がそうです。

また、
<BANNER HREF="banner.bmp">
 <ABSTRACT>webni ongakuwo!</ABSTRACT>
 <MOREINFO HREF="http://www.interq.or.jp/blue/inside/" />
</BANNER>

という記述をすると

Moreinfoの図

このように指定された画像がバナーとして表示され、Abstract内のコメントがカーソルを合わせたときに表示されます。
そしてバナーをクリックするをMoreInfoで指定されたURLに移動します。
ただし、使用できる画像の最大値は高さ32、幅194までです。それ以上のものでもこのサイズしか表示されません(リサイズされるのではない)

他、
<Logo href = "icon.bmp" Style = "ICON" />
では通常ASFアイコンが表示される所に好きな画像を、16x16ピクセルのサイズで表示します。(リサイズはされません)
<Logo href = "logo.bmp" Style = "MARK" />
は通常ビデオウインドウのWindowsMedia〜と表示されるべき所を
指定した画像に出来ます。サイズは高さ32の幅80です。
ローカルではチェックしにくいと思います

なお、更に詳しい情報はMicrosoftのサイトで得ることが出来ます。
Windows Media(TM) メタファイルの活用

人気コンテンツ