http://www.21code.com/codebase/?pos=down&id=2067是一个很好的例子,看一看吧,会有收获的!

解决方案 »

  1.   

    如果您只要控制wav播放设备的音量,可以调用API函数waveOutSetVolume。
    其第二第三个参数设为&HFFFF时音量最大,设为&H0000时最小即静音。
    您可以参考以下链接的样例程序:
    Q118377 How to Control the Volume of Sound Files from Visual Basic
    http://support.microsoft.com/support/kb/articles/q118/3/77.asp如果您需要控制系统混音设备的功能,您可以调用API函数mixerSetControlDetails来实现,设置代表音量大小的变量值为&H0000,也能达到静音的效果。
    相关函数还有:
    mixerClose - 关闭指定的混音设备
    mixerOpen – 打开指定的混音设备
    mixerGetDevCaps – 查询指定混音设备的声音大小范围
    mixerGetID – 检索与指定设备句柄相关的混音器的设备ID
    mixerSetControlDetails – 设置单一音频线的属性
    mixerGetControlDetails – 检索单一音频线的详细信息您可以参考以下链接的样例程序:
    Q178456 SAMPLE: Volume.exe: Set Volume Control Levels Using Visual Basic
    http://support.microsoft.com/support/kb/articles/q178/4/56.asp
    mixerSetControlDetails
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wcesdkr/htm/_wcesdk_am_mixersetcontroldetails.asp
      

  2.   

    您还可以使用API函数
    Declare Function mciExecute Lib "winmm.dll" (ByVal lpstrCommand As String) As Long发送指令:set sound audio all off
    set CD audio all off
    来达到效果left off
    right off
    分别是关闭左右声道