HSPリファレンス トップ »

マルチメディア制御 (HSP3)


mci命令

・マルチメディア制御命令
mci "strings"		[MCIにコマンドを送る]
"strings" : MCIコマンド文字列
MCI(Multimedia Control Interface)にコマンド文字列を送ります。MCIに対
応したMIDI再生、ムービー再生などを行なうことができます。

MCIコマンドの詳細については、Windows MCIの解説書をお読みください。ここ
では簡単な使用法だけを紹介しておきます。

	mci "play filename"

で、"filename"のファイルを再生します。たとえば、
"play aaaa.mid"ならば、"aaaa.mid" というMIDIファイルを演奏します。拡張
子がaviなら動画の再生、wavならPCMの再生、その他MCIに登録されているデバ
イスを再生することができます。

	mci "open filename alias abc"

で、"filename"のファイルをオープンして、これ以降 "abc"という名前をエイ
リアスにすることができます。この後で、

	mci "play abc"    ; デバイスの再生
	mci "stop abc"    ; デバイスの再生ストップ
	mci "close abc"   ; デバイスのクローズ

などの指定をすることができるようになります。
mciに命令を送った場合の結果はシステム変数 statに反映されます。
stat が-1の場合は、mci命令を解釈する時点でエラーが出ていることを示して
います。また、mciでステータスを読み出すコマンドを送った場合も、stat に
結果が反映されます。


mmload命令

・マルチメディア制御命令
mmload "filename",p1,p2		[サウンドファイル読み込み]
p1=0〜(0)  : 割り当てるバッファの番号
p2=0〜2(0) : 割り当てるモード
メディアデータのファイルを登録します。
読み込むことができる形式は以下の通りです。

WAV形式  : 拡張子 WAV         : Windows標準のPCM音声データ。
AVI形式  : 拡張子 AVI         : Windows標準の動画データ
MID形式  : 拡張子 MID         : 標準MIDIファイルデータ。
MP3形式  : 拡張子 MP3         : MP3形式音声データ
ASF形式  : 拡張子 ASF,WMV,WMA : Windows Media形式音声データ
MPEG形式 : 拡張子 MPG         : MPEG形式動画データ
オーディオCD : ファイル名 "CD : トラック番号" :
               (CDの音声トラック部分が対象になります)

たとえば、オーディオCDのトラック3を指定する場合は、

	mmload "CD:3",1

のようにします。
p1は、割り当てるバッファの番号となります。これは、再生する時に必要とな
る0以上の整数値です。
複数のメディアファイルを取り扱うには、別々のバッファ番号に割り当てをし
ておく必要があります。
mmload命令は、指定されたファイルが2MB以下の音声(WAV)ファイルの場合は、
メモリに内容を読み込んでおきリアルタイムに再生可能な状態にします。それ
以外の場合は、ファイル名だけが登録され、実際のファイルの読み出しはメデ
ィア再生時(mmplay実行時)に行なわれることになります。

p2はモードを設定します。以下の値を指定することができます。

モード0   : 指定したファイルは通常の再生を行う
モード1   : 指定したファイルは無限ループで再生を行う
モード2   : 指定したファイルは再生終了まで待つ
モード3   : (CDのみ)指定されたトラック以降を再生する
モード+16 : (AVIのみ)対象ウィンドウ全体で再生

モード2を指定すると、指定したファイルが再生された場合、 HSPはその再生
が終了するまで次の命令を実行しなくなります。
mmload命令はデータの情報をメモリ上にストックしておくだけで、すぐに演奏
が始まるわけではありません。

モード+16は、AVI(動画)ファイルでのみ使用できるモードです。
モード0〜2に16を足した値を指定することで、表示対象になっているウインド
ゥのサイズいっぱいに動画が再生されます。
動画ファイルの判断は拡張子によって行なっています。

MP3形式、およびASF形式はOSがサポートしている場合にのみ再生が可能です。
(初期のWindows95、Windows98ではWindows Media Player  5.2以降がインスト
ールされている必要があります。)

実際の再生は、mmplay命令によって行ないます。

§ mmplay mmstop


mmplay命令

・マルチメディア制御命令
mmplay p1		[サウンド再生]
p1=0〜(0) : 再生するバッファの番号
mmload命令によって読み込まれたメディアを再生します。
p1でバッファの番号を指定することで、mmload命令によって読み込まれた複数
のメディアから、どれを再生するかを選びます。

mmplay命令は、 通常サウンドの再生がスタートするとともにHSPは次の命令へ
と進みます。
ただし、mmload命令で読み込みモード2を指定している場合は、サウンドの再
生が終了するまで次の命令へは進まなくなります。

すでにサウンドが再生されている状態で、さらにmmplay命令を実行すると、前
のサウンド再生を終了してから、新しく指定したサウンドの再生を始めます。
ただし、MIDIの再生中にPCMを再生するなど異なるデバイスの場合は、 再生が
中止されることはありません。

AVI(動画)の再生は、 mmplay命令が実行された時点で操作先となっているウイ
ンドゥのカレントポジションを左上として表示されます。
ただし、 mmload命令のモードに+16(ウィンドウ全体で再生)が指定されている
場合は、ウィンドウの表示面いっぱいに再生されます。
この場合、画面サイズや縦横の比率には関係なくウィンドウのサイズに変倍さ
れるので、あらかじめ動画の画面サイズや縦横比を考えた上で利用して下さい。

§ mmload mmstop


mmstop命令

・マルチメディア制御命令
mmstop 		[サウンド停止]


mmplay命令によるメディア再生を停止します。

§ mmplay mmload


¤ Original Document by ONION Software / HTML Document by Let's HSP!