マルチメディア(後半)
それではマルチメディア編の後半に入ります。

前章と同じく、準備として再生したいファイルをHSPフォルダ内にコピーしておいてください。
音楽・動画は再生する前にいつでも再生できるように読み込んでおく必要があります。
音楽も動画も、読み込み・再生・停止させる命令が一緒なんですねぇ。

読み込む命令は「sndload」を使います。
読み込める形式はwav,mp3,asf,wma,mid,avi,mpg,wmv,音楽CDかのいずれか。
尚、mp3,asf,wma,wmvはOSがサポートしている場合のみ、と言う条件が付いています。
まぁ、最近のWindowsパソコンならどれでも初めから付いていますし、
付いていない可能性があるWindows95,98を使っている場合でも
「Windows Media Player 5.2」以降が入っていれば再生できるので問題ではないでしょう…。
ヘルプをみると、「sndload "ファイル名",パラメータ1,2」となっています。
ここではパラメータ(以下p)が2つです、必要最小限の形は「ステートメント "ファイル名",p1」です。
下の段には「p1=0〜255(0):読み込むバッファの番号」と書いています。
ココで指定した番号は、のちにどの音楽を再生するのかというのを指定するときにも使用します。
番号はどれから使ってもよいのですが混乱を防ぐためにも0番から使うほうがよいでしょう。
p2には再生する際のオプション指定することができます。
0(または省略)で普通に一度だけ再生します。
1でループ再生ができます。
2で再生が終了するまで次の作業を中断します。
3は音楽CDのみ使用でき、指定されたトラック以降を再生することができます。
avi形式の場合、使いたいオプションに+16すると対象ウインドゥ全体で再生できます。
例としてp2に18と入れると動画(avi形式)を再生し、一通り終了するまで次の作業を中断します。
それでは実行してみましょう。
	sndload "再生したいファイル名",1,18
	stop
エラーが出ずにうまく行ったとしても何かが起こるわけではありません。 先に書いたように「HSPで使用できるように読み込んだだけ」なのです。 再生させる命令には「snd」を使います。 書式は「snd 再生する番号」で、パラメータにsndloadで読み込んだ番号を指定するだけです。 たとえば0番を再生したいなら
	sndload "再生したいファイル名",0,0
	snd 0
	stop
で再生できます。 ココでのポイントとして同時に再生することはできないということです。 ただし、mid形式のBGMにwav形式の効果音を使う等の異なるデバイスは同時再生可能です。 途中で再生を中止したい場合は、sndoff命令を使用します。 書式は「sndoff」のみで、パラメータはありません。 snd命令等は「再生」「停止」のみですが、mci命令を使えば多彩な処理を実現させることができます。 「ミリ秒単位で処理」「途中から再生」「一時停止」「音量の調整」 はたまた「wavやmp3形式等の同じデバイスであっても同時再生」等の細かい処理が色々できるですが、 指定できる種類が豊富にあり、少し高度で混乱の元となることが予想されるのでこの講座では載せません。 どんなものか気になる方はコチラに載せてありますのでご覧になってください。