PlaySound()関数
BOOL PlaySound(
LPCSTR pszSound,
HMODULE hmod,
DWORD fdwSound
);
WAVEフォームサウンドを再生します。
pszSound | 再生するサウンドをNULLで終わる文字列で指定します。ただしfdwSoundパラメータでSND_MEMORYを指定した時は、メモリ内に読み込まれたサウンドイメージへのポインタを指定します。NULLを指定すると、現在再生中のWAVEフォームサウンドが停止します。 |
hmod | fdwSoundパラメータでSND_RESOURCEを指定した場合は、ロードするリソースが入った実行可能ファイルのインスタンスハンドルを指定します。そうでない場合は、NULLを指定します。 |
fdwSound | 再生フラグヲ指定します。 |
フラグ抜粋
SND_ASYNC | サウンドを非同期的に再生します。PlaySound関数は即座に制御を返します。非同期的に再生されているサウンドを止めるには、pszSoundパラメータにNULLを指定してPlaySound関数を呼び出します。 |
SND_FILENAME | pszSoundパラメータは、ファイル名です。 |
SND_LOOP | サウンドを繰り返し再生します。SND_ASYNCと同時に指定します。サウンドの再生を止めるにはpszSoundパラメータにNULLを指定してPlaySound関数を呼び出します。 |
SND_MEMORY | pszSoundパラメータは、メモリ内に読み込まれたサウンドイメージへのポインタです。 |
SND_NODEFAULT | 指定されたサウンドが見つからなかった場合、PlaySound関数はデフォルトのサウンド(一般の警告音)を再生することなく無音で制御を返します。 |
SND_NOSTOP | 既にほかのサウンドが再生されていた場合、指定されたサウンドを再生することなく即座に制御を返します。 |
SND_NOWAIT | ドライバがビジー状態であれば、サウンドを再生することなく即座に制御を返します。 |
SND_PURGE | サウンドの再生を停止します。pszSoundパラメータがNULL以外のときは、指定したサウンドの全てのインスタンスが停止します。pszSoundパラメータがNULLの時は、呼び出し側タスクのすべてのサウンドが停止します。SND_RESOURCE指定時は、インスタンスハンドルも指定します。 |
SND_RESOURCE | pszSoundパラメータはリソースIDです。hmodパラメータには、リソースが入った実行可能ファイルのインスタンスハンドルを指定します。 |
SND_SYNC | サウンドを同期的に再生します。PlaySound関数は、サウンドの再生が完了した後に制御を返します。 |
case WM_LBUTTONDOWN:
PlaySound( "test.wav", NULL, SND_ASYNC | SND_FILENAME );
break;
case WM_RBUTTONDOWN:
PlaySound( NULL, NULL, SND_PURGE );
break;
この関数で音声データを再生するには必ずその音声データを保存できるだけの物理メモリが必要になります。
Comments