C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: VB6によるWAV再生時の音量調節について


(過去ログ 30 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■13728 / inTopicNo.1)  VB6によるWAV再生時の音量調節について
  
□投稿者/ AREX (1回)-(2008/02/03(Sun) 19:09:07)

分類:[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


引用返信 編集キー/
■13732 / inTopicNo.2)  Re[1]: VB6によるWAV再生時の音量調節について
□投稿者/ やじゅ (87回)-(2008/02/03(Sun) 20:21:22)
やじゅ さんの Web サイト
No13728 (AREX さん) に返信
>
>mciSendString APIを使いファイル再生までできたのですが、音量調節のAPI関数を実行すると
>"ドライバは指定されたコマンドを認識できません。"とエラーがでて思うようにいきません。
>今自分で使えるPC環境を3つほど試しましたが、全部上記のエラーが出てしまいます。
> また誤った箇所があるならば教授ねがいます。
>

特に誤った箇所は無いように思います。
他ソフト(公開されてるフリーソフト)などで試して同じ現象なら、
ドライバーが対応していないのです。

別案:
VB6 音量調節の仕方 Wav 2
http://hidensan.blog.shinobi.jp/Entry/39/
引用返信 編集キー/
■14155 / inTopicNo.3)  Re[2]: VB6によるWAV再生時の音量調節について
□投稿者/ AREX (2回)-(2008/02/11(Mon) 16:34:00)
やじゅさんご教授ありがとうございます。返事が遅れてしまって申し訳ありません。
提示していただいた別案ではシステム音量が変わってしまうので、
別の音源を再生した時にも反映されてしまい、音源ごとに判定して音量を変える必要がでてしまいます。

mciSendStringはドライバが対応していないみたいなので、音源の音量を変える等の別の方法を取ってみようと
思います。


No13732 (やじゅ さん) に返信
> ■No13728 (AREX さん) に返信
> >
> >mciSendString APIを使いファイル再生までできたのですが、音量調節のAPI関数を実行すると
> >"ドライバは指定されたコマンドを認識できません。"とエラーがでて思うようにいきません。
> >今自分で使えるPC環境を3つほど試しましたが、全部上記のエラーが出てしまいます。
>>また誤った箇所があるならば教授ねがいます。
> >
>
> 特に誤った箇所は無いように思います。
> 他ソフト(公開されてるフリーソフト)などで試して同じ現象なら、
> ドライバーが対応していないのです。
>
> 別案:
> VB6 音量調節の仕方 Wav 2
> http://hidensan.blog.shinobi.jp/Entry/39/
解決済み
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -