Top Page > Direct Soundの基本
Direct X 7.0以下*1のDirect Soundの超基本的な使い方をメモ書き程度に。手っ取り早く音を鳴らしたい人向け。どっか違ってたら教えてくださいね。
dsound.lib (mssdk\libの中)
dsutil3d.c *2 (mssdk\sampleのどこか)
testwav というリソース名で適当なWAVEファイルをリソースに追加
#include <dsound.h>
#include "dsutil3d.h"
//最初に
LPDIRECTSOUND ds;
if (DirectSoundCreate(NULL, &ds, NULL)!=DS_OK) return; //初期化失敗
if (ds->SetCooperativeLevel(hWnd*3, DSSCL_PRIORITY)!=DS_OK) return; //協調レベルの設定に失敗
LPDIRECTSOUNDBUFFER sb= DSLoadSoundBuffer(ds, "testwav"); //音ごとに作成 *4
if (!sb) return; //サウンドバッファの作成に失敗
//再生
if (sb->SetCurrentPosition(0)!=DS_OK) return; //再生位置設定失敗
if (sb->Play(0,0,0)!=DS_OK) return; //再生失敗
//最後に
sb->Release();
ds->Release();
Project1.rc というテキストファイルを用意。下の様に書く。最後がファイル名。
testwav WAVE Test.wav
で、MS-DOS(コマンド)プロンプトで
brc32 Project1.rc
とすると Project1.res ができる。これを[プロジェクトに追加]する。
DirectX 7.0 日本語マニュアルを。
C++ BuilderでDirect Xを使う方法はここが参考になります。
*1 8以降はだいぶ変わったらしいんで、ここの記述とは違うかも。何で今時7.0なのかと言うと、DirectDrawを使うってのと、BCBでは8.0が一部動かないという噂が有ったので…。
*2 32行目辺りの "WAV" を "WAVE" に直しておこう。
*3 ウィンドウハンドル。DirectDrawを使う場合はDirectDrawで使うのと同じ物。
*4 違うサウンドバッファは同時に再生可能。同じ音を重ねて再生したい場合は、重なる数だけ同じ音のサウンドバッファを作る必要有り。
Gimite 市川 <gimite@mx12.freecom.ne.jp>
Direct Soundの基本 < Top Page