如何获取系统播出的音量大小??
本帖最后由 gapkiller 于 2012-3-29 16:34 编辑不是system master volume
是系统内播出的声音大小, win7下可以看到, 如下图绿色部分, 是一个值, 根据系统播出声音大小可变.
搜索了一下论坛, 都是系统音量大小, 而且win7 下都不能用...
请教~~
再次说明一下, 想要获取的, 不是系统音量大小, 是播出音量大小.
就算系统音量固定为100%, 播出的声音也是有大有小, 我是想要这个值, 类似于声音的波形.
再加300... 感觉bass.dll中有函数应该可以达到楼主的功能要求。 本帖最后由 lixiaolong 于 2012-3-28 20:08 编辑
回复 1# gapkiller
想不到其他方法,把afan版主的代码改了一点.
#include <GuiToolbar.au3>
$vol = GetSystemVolume()
MsgBox(0, '', $vol)
Func GetSystemVolume($frag = 0)
Local $info, $sR, $i, $i_C, $txt
Local $hTb = ControlGetHandle('', '', 'ToolbarWindow321')
For $i = 0 To _GUICtrlToolbar_ButtonCount($hTb) - 1
$i_C = _GUICtrlToolbar_IndexToCommand($hTb, $i)
$txt = _GUICtrlToolbar_GetButtonText($hTb, $i_C)
$sR = StringRegExp($txt, '^扬声器\:\h?(\d+)%', 3)
If Not @error Then
If $frag < UBound($sR) Then
$info = $sR[$frag]
Else
$info = 'error'
EndIf
EndIf
Next
Return $info
EndFunc ;==>GetSystemVolume
回复 3# lixiaolong
要是音量图标被隐藏的就获取不到哦 回复 4# zldfsz
对,就是有这个缺点,论坛里没找到方法...
这个我也想知道方法,我找找其他方法吧. 不懂调试 看高手解答 本帖最后由 zldfsz 于 2012-3-28 22:35 编辑
回复 5# lixiaolong
不过这样已经好多了,加上你的 这个http://www.autoitx.com/forum.php?mod=viewthread&tid=19941&highlight=
设置音量就更方便了,加个判断,没获取到就用原来的方法,获取到了就根据值的大小来最大或减小,就不用减小到0再增大的方法了,当然如果隐藏时也能判断那就更好了 回复 7# zldfsz
搞定~
#include <GuiToolbar.au3>
MsgBox(0, '', SystemVolume())
Func SystemVolume()
Local $vol = Win7GetSystemVolume()
If Not $vol Then $vol = Win7GetSystemVolume(1)
Return $vol
EndFunc ;==>SystemVolume
Func Win7GetSystemVolume($frag = 0)
Local $info, $sR, $i, $i_C, $txt
Local $Handle = ''
If $frag Then $Handle = ''
Local $hTb = ControlGetHandle($Handle, '', 'ToolbarWindow321')
For $i = 0 To _GUICtrlToolbar_ButtonCount($hTb) - 1
$i_C = _GUICtrlToolbar_IndexToCommand($hTb, $i)
$txt = _GUICtrlToolbar_GetButtonText($hTb, $i_C)
$sR = StringRegExp($txt, '^扬声器\:\h?(\d+)%', 1)
If Not @error Then
$info = $sR
EndIf
Next
Return $info
EndFunc ;==>Win7GetSystemVolume
受用~,学习了~!! 回复 8# lixiaolong
我已经说了, 想得到的不是系统音量大小, 而是播出声音大小.
就是系统产生声音时, 跳动的绿色的部分的值. 回复 10# gapkiller
不好意思,是我没看请{:face (207):} 哇.................................. 回复 8# lixiaolong
这真是太爽了,呵呵 不知道 gapkiller 搜过类似频谱之类的没有,有用否?
p.s, 8楼的2位评分者的头像上演了一出喜剧…… 不知道 gapkiller 搜过类似频谱之类的没有,有用否?
p.s, 8楼的2位评分者的头像上演了一出喜剧……
afan 发表于 2012-3-29 00:52 http://www.autoitx.com/images/common/back.gif
呵呵,观察细微,佩服