|
分類:[VB6 以前]
いつも参考にさせていただいています。AREXと申します。
VB6でWAVファイルを再生し、その音量を調節するプログラムを作っていて、
mciSendString APIを使いファイル再生までできたのですが、音量調節のAPI関数を実行すると
"ドライバは指定されたコマンドを認識できません。"とエラーがでて思うようにいきません。
今自分で使えるPC環境を3つほど試しましたが、全部上記のエラーが出てしまいます。
どなたか下記のコードで音量調節できる方はいませんでしょうか、
また誤った箇所があるならば教授ねがいます。
環境 Win2000SP4,WinXP SP1,WinXP SP2,言語 VB6 SP5
Option Explicit
Private Declare Function mciSendString Lib "Winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Private Declare Function mciGetErrorString Lib "Winmm.dll" Alias "mciGetErrorStringA" (ByVal dwError As Long, ByVal lpBuffer As String, ByVal lpBuflength As Long) As Long
Private Sub cmdPlay_Click()
Dim filename As String
filename = "C:\Vtest.WAV"
Dim ret As Long
ret = mciSendString("open " & filename & " alias MySound", "", 0, 0)
ret = mciSendString("play MySound", "", 0, 0)
End Sub
Private Sub cmdStop_Click()
Call mciSendString("stop MySound", "", 0, 0)
Call mciSendString("close MySound", "", 0, 0)
End Sub
Private Sub cmdVolume_Click()
Dim r As Long
Dim command As String
command = "setaudio MySound volume to 100"
Dim rets As String
rets = String(255, Chr(0))
Dim retl As Long
retl = Len(rets)
r = mciSendString(command, rets, retl, 0&)
Dim ret As Long
ret = mciGetErrorString(r, rets, retl)
If ret <> 0 Then
Call MsgBox(rets)
End If
End Sub
|