Direct Soundを使おう
Direct Soundを使って多機能な効果音再生を実現しよう。
用 意 |
宣 言 |
DirectSoundの構造 |
1.dsInit(DirectSoundを使えるようにする。これを必ず実行)
|
2.dsCreate(ファイルを読みこむ。ここで取得したIDは再生時などに必要となる。mciSendStringのコマンドでいうとOpen)
|
(3.各種パラメータの設定(ボリュームなどの設定をする。不要な場合もある。))
|
4.dsPlayなど(再生する。mciSendStringのコマンドでいうとPlay)
|
(5.dsStop(再生の中止。不要な場合もあり。mciSendStringのコマンドでいうとStop))
|
6.dsFree(ファイルの開放。mciSendStringのコマンドでいうとClose)
|
7.dsQuit(DirectSoundの使用終了処理。必ず実行)
なお、DirectSoundの特徴として繰り返し再生や複数のファイルの同時再生ができます。詳しくはVB用DirectSound活用モジュールのヘルプを見てください。
<簡単なサンプルプログラム>
次のプログラムは、プログラム起動後に「Sound.wav」というファイルを繰り返し再生し終了と同時にストップさせるものです。おまけ機能としてフォームをクリックすると適当な周波数で再生する機能がついています。用意としてc:\ディレクトリーにSound.wavというファイルが必要になります。あらかじめ用意しておいてください。また、VB起動後にVBDSnd.Basというファイルを追加し、次のコードを貼りつけて、実行してください。
Dim ID As Long Private Sub Form_Click() dsSetFrequency ID, Rnd * 99900 + 100 '周波数の変更 End Sub Private Sub Form_Load() Randomize '乱数の初期化 dsInit Form1.hWnd 'DirectSound使用開始 ID = dsCreate("c:\sound.wav", 1) 'ファイル読みこみ dsPlayLooping ID '繰り返し再生 End Sub Private Sub Form_Unload(Cancel As Integer) dsStop ID '再生ストップ dsFree ID 'ファイル開放 dsQuit 'DirectSound使用終了処理 End Sub |