サウンドの再生(T) <TOP>
サウンドを再生します。
PlaySound WAVファイルを再生する
例では、レジストリエントリー内のサウンドを再生します。
'================================================================ '= サウンドの再生
'= (PlaySound.bas) '================================================================ #include "Windows.bi" ' WAVファイルを再生する Declare Function Api_PlaySound& Lib "winmm" Alias "PlaySoundA" (ByVal lpszName$, ByVal hModule&, ByVal dwFlags&) #define SND_ASYNC &H1 '非同期的にサウンドを再生(再生の開始直後に制御を返す) #define SND_LOOP &H8 'lpszSoundNameパラメータをNullに設定してsndPlaySoundを再び呼び出すまでサウンドを繰り返し再生 #define SND_MEMORY &H4 'lpszSoundNameで指定したパラメータがサウンドのメモリ内データイメージを指すポインタであることを示す #define SND_NODEFAULT &H2 'サウンドが見つからないとき、関数はデフォルトのサウンドを再生せずに制御を返す #define SND_NOSTOP &H10 'サウンドが現在再生中ならば、関数は要求されたサウンドを再生せず、すぐにFalseを返す #define SND_SYNC &H0 '同期的にサウンドを再生(再生が終了するまで制御を返さない) Var Shared Combo1 As Object Var Shared Button1 As Object Combo1.Attach GetDlgItem("Combo1") : Combo1.SetFontSize 14 Button1.Attach GetDLgItem("Button1") : Button1.SetFontSize 14 '================================================================ '= '================================================================ Declare Sub MainForm_Start edecl () Sub MainForm_Start() Combo1.AddString ".Default" Combo1.AddString "AppGPFault" Combo1.AddString "Close" Combo1.AddString "Maximize" Combo1.AddString "MenuCommand" Combo1.AddString "MenuPopup.Current" Combo1.AddString "Minimize" Combo1.AddString "Open" Combo1.AddString "RestoreDown" Combo1.AddString "RestoreUp" Combo1.AddString "SystemAsterisk" Combo1.AddString "SystemExclamation" Combo1.AddString "SystemExit" Combo1.AddString "SystemHand" Combo1.AddString "SystemQuestion" Combo1.AddString "SystemStart" End Sub '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var RegEntry As String Var fuSound As Long Var Ret As Long 'レジストリエントリを設定
RegEntry = Combo1.GetText(Combo1.GetCursel)
'再生方法を設定
fuSound = SND_ASYNC Or SND_NODEFAULT
'ウェーブフォームサウンドを再生 Ret = Api_PlaySound(RegEntry, 0, fuSound) End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End