在vb中如何设置windows声音方案

在vb中如何设置windows声音方案,第1张

Option ExplicitPrivate Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" ( _ ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ ByVal lParam As Long) As LongPrivate Const WM_APPCOMMAND As Long = &H319Private Const APPCOMMAND_VOLUME_MUTE As Long = 8 Private Sub Command1_Click()'静音,单击一次静音,再单击一次恢复 SendMessage Me.hwnd, WM_APPCOMMAND, &H200EB0, APPCOMMAND_VOLUME_MUTE * &H10000End Sub

竟然没个API用。。。引篇CSDN的文章:用MCI命令,只能对MCI设备起作用。如果有外部设备(比如Windows Media Player和Wimamp播放器)在播放,MCI命令对他们不起任何作用。必须使用混音器调节系统声音,对所有设备都起作用。请看调节系统音量的类: http://xsoft.bokee.com/4780183.html(里面有很多关于音量设置的函数,其中有 一个静音设置的函数),放在类代码里,生成ActiveX DLL,然后在VB工程菜单中引用该DLL即可。静音函数 Public Function SetMute(ByVal bMute As Boolean) As Boolean 麻烦了点。。。如果实在找不到你就把它的全篇copy再调用这个函数好了。

Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long

Private Declare Function waveOutGetVolume Lib "winmm.dll" (ByVal uDeviceID As Long, lpdwVolume As Long) As Long

Private Declare Function waveOutSetVolume Lib "winmm.dll" (ByVal uDeviceID As Long, ByVal dwVolume As Long) As Long

Dim vol1

i = waveOutSetVolume(0, -1) '最大音量

i = waveOutSetVolume(0, 1100000000) '音量适中

i = waveOutSetVolume(0, 0)'音量小

i = waveOutSetVolume(0, vol1) '恢复原始音量

k = App.Path + "\*.wav"'播放音乐

L = &H1 Or &H2 '识别标识

i = sndPlaySound(k, L) '播放音乐


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/9926266.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存