« 【よみもの】ゆめゆめ日記 第3回 | メイン | HSPTV!メルマガ 第72号 »

2009年04月17日

【講座】HSP3ワンポイントテクニック 第37回

このコーナーでは、HSP3の変わった使用例や、気付きにくい機能
などを紹介していきたいと思います。

今回は、HSPのサウンド機能について解説してみたいと思います。
HSPで音を鳴らす際には、標準でmmload、mmplayという命令を
使用するのが一般的です。
たとえば、「a.wav」というファイルを再生する場合は、

mmload "a.wav",0

と書いて、ファイルを読み込んでおき、再生したい場所で

mmplay 0

を記述するだけでOKです。
拡張子が「.wav」となっているファイルは、音声(波形)を記録
したファイルで、Windowsのサウンドレコーダーを始めとする
各種ツールで扱うことができるようになっています。
この形式は、どんな音でも記録しておけますが、長い時間に
なるとファイルサイズが大きくなってしまうため、音楽などを
記録する用途には向きません。
音楽の再生については、「.mid」(スタンダードMIDI形式)や、
「.mp3」(MP3形式)を別途使用するといいでしょう。これらの
形式も、mmloadやmmplay命令で扱うことが可能です。

ただし、標準で用意されている機能ではいくつかの制限が
あります。だいたい以下のような点です。

■複数の音声(波形)を同時に再生できない
■音量(ボリューム)の調節ができない
■繰り返し再生がスムーズにつながらない

これらの制約は、標準で用意されているWindowsシステムの
制限によるものなのですが、不便なことに変わりはありません。
これを解消するには、Direct SoundというAPIを使用した再生を
行なう必要があります。
HSPでも拡張プラグインという形で、Direct Soundを使用した
サウンド再生をサポートしています。
標準で用意されているhspogg.dll(HGIMG3使用時も同じ命令
セットを利用できます)であれば、豊富なサウンド機能を
持っています。他にも、HSP MULTIMEDIA( hmm.dll )を始めと
するサウンド関連のプラグインがありますので、探してみると
いいでしょう。
http://hsp.tv/make/tool3.html

hspoggプラグインでは、標準命令に近いdmmload、dmmplay
という命令によりコントロールできるので、すぐに使う
ことができるはずです。また、mp3の代わりにライセンスの
発生しない圧縮形式である「.ogg」(Ogg Vorbis)の再生にも
対応しています。
音を鳴らす色々な場面で応用してみてくださいね。ではでは。

(おにたま)

投稿者 usuaji : 2009年04月17日 02:30

口臭チェッカー市場