VAVE ファイルの演奏(sndPlaySound) Hit Counter

対象バージョン :  97, 2000, 2002, 2003
最終更新日 : 2005/05/07 (オリジナル作成日:1998/11/03)


概 要 

Windows API を用いて WAVE ファイルを演奏する方法です。

 

解 説

宣言

Private Declare Function sndPlaySound Lib "WINMM.DLL" Alias "sndPlaySoundA" _
    (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Const SND_SYNC = &H0
Const SND_ASYNC = &H1
Const SND_NODEFAULT = &H2
Const SND_LOOP = &H8
Const SND_NOSTOP = &H10

プロシージャ

Dim ret As Long
Dim strFileName As String

strFileName = "c:\windows\media\tada.wav"
ret = sndPlaySound(strFileName, SND_SYNC + SND_NODEFAULT)

SND_SYNC 演奏が終了するまで、制御は戻りません。
SND_ASYNC 演奏を開始すると、制御が戻ります。
第一引数に vbNullString を指定して呼び出すと、演奏を停止します。
SND_NODEFAULT 指定したファイルが無い場合でも、既定の音を鳴らさず、何もせず戻ります。
SND_LOOP 繰り返し演奏します。
SND_NOSTOP 既に他の演奏がされている場合、何もせず戻ります。
この場合、sndPlaySound は False を返します。

 

繰り返し演奏の例

strFileName = "c:\windows\media\tada.wav"
' 演奏開始
ret = sndPlaySound(strFileName, SND_ASYNC + SND_LOOP)
 ・・・
' 演奏終了
ret = sndPlaySound(vbNullString, SND_NODEFAULT)
 
改訂履歴 

目次へ戻る