请问如何获得当前声卡播放声音的电平值,换句话说,就是得到当前声卡播放的声音的大小(分贝数)。可以用那些API或函数,控件也可以。谢谢指教。
解决方案 »
- 【致命BUG】VB WinSock 传输文件后,在新文件中,发生了不可思议的事情....
- 如何获取窗体外鼠标点击事件
- 怎样能让生成的xml自动缩进
- 现有一数据库(ACCESS)中保存了OLE对象(用来存储文件),VB中如何将该字段内容取出来在本地生成文件?
- 关于Format控件DTPicker的问题
- 求助:如何获取网页中的变量?
- 这个代码为什么excel2007没有问题,但是excel2003就错误?
- 如何通过ASCII码区分全角与半角字符?急!
- VB中如何调用windows的打开方式程序
- Api 问题 postmessage()
- 紧急求助!!!高分相送!!!
- 下面这段话说的对吗?为什么?请教原理?
Private Declare Function waveOutGetVolume Lib "winmm.dll" Alias "waveOutGetVolume" (ByVal uDeviceID As Long, lpdwVolume As Long) As Long
【说明】
获取声音音量
'Example submitted by Danjel Nyberg
'It needs a textbox (Text1) and two command buttons (Command1, Command2)
Private Declare Function waveOutSetVolume Lib "Winmm" (ByVal wDeviceID As Integer, ByVal dwVolume As Long) As Integer
Private Declare Function waveOutGetVolume Lib "Winmm" (ByVal wDeviceID As Integer, dwVolume As Long) As Integer
Private Sub Command1_Click()
Dim a, i As Long
Dim tmp As String
a = waveOutGetVolume(0, i)
tmp = "&h" & Right(Hex$(i), 4)
Text1 = CLng(tmp)
End Sub
Private Sub Command2_Click()
Dim a, i As Long
Dim tmp, vol As String
vol = Text1
tmp = Right((Hex$(vol + 65536)), 4)
vol = CLng("&H" & tmp & tmp)
a = waveOutSetVolume(0, vol)
End Sub