WAVEファイル再生音量の設定と取得          <TOP>


waveOutSetVolume WAVEファイル再生音量の設定

waveOutGetVolume WAVEファイル再生音量の取得

 

左:Volume Controlを図のように設定し・・    右:その値を取得 。または、左側EditBoxに数値を入れ、・・GetVolumeでその値を取得します。

 

 

'================================================================
'= WAVEファイル再生音量の設定と取得
'=    (waveOutGetVolume.bas)
'================================================================
#include "Windows.bi"

' WAVEファイル再生音量の設定
Declare Function Api_waveOutSetVolume& Lib "Winmm" Alias "waveOutSetVolume" (ByVal wDeviceID&, ByVal dwVolume&)

' WAVEファイル再生音量の取得
Declare Function Api_waveOutGetVolume& Lib "Winmm" Alias "waveOutGetVolume" (ByVal wDeviceID&, dwVolume&)

Var Shared Edit(1) As Object
Var Shared Button(1) As Object

For i = 0 To 1
    If i < 2 Then
        Button(i).Attach GetDlgItem("Button" & Trim$(Str$(i + 1))) : Button(i).SetFontSize 14
    End If
    Edit(i).Attach GetDlgItem("Edit" & Trim$(Str$(i + 1))) : Edit(i).SetFontSize 14
Next

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var tmp As String
    Var vol As String
    Var Ret As Long

    vol = Edit(0).GetWindowText
    tmp = Right$(Hex$((Val(vol) + 65536)), 4)
    vol = Str$(Val("&H" & tmp))
    Ret = Api_waveOutSetVolume(0, Val(vol))
End Sub

'================================================================
'=
'================================================================
Declare Sub Button2_on edecl ()
Sub Button2_on()
    Var tmp As String
    Var vol As Long
    Var Ret As Long

    Ret = Api_waveOutGetVolume(0, vol)
    tmp = "&H" & Right$(Hex$(vol), 4)
    Edit(1).SetWindowText Str$(Val(tmp))
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End