如何在 Windows 7 和 Vista 中重置每个应用程序的音量设置

如何在 Windows 7 和 Vista 中重置每个应用程序的音量设置

我已更改应用程序的每个应用程序音量设置。我想重置每个单独的音量设置,以便所有应用程序都使用全局音量设置。我该怎么做?

答案1

我找到了一种可行的解决方法,但有点不靠谱。我更喜欢更好的解决方案,但同时尝试一下:

将全局音量设置为最大,将每个单独的应用程序音量也调到最大。然后将全局音量调低。它似乎有效。所有应用程序音量设置现在都绑定到全局设置。

答案2

以下.bat文件来自Per4u3eMicrosoft 论坛对我来说很管用。它的工作原理是暂时停止音频服务并修改注册表以将 Windows 重置为默认音频设置。

请注意,至少在 Windows 10 上,您可能需要以管理员身份运行该脚本。

@ECHO OFF

ECHO Reset Volume Mixer Settings...

NET STOP Audiosrv
NET STOP AudioEndpointBuilder

REG DELETE "HKCU\Software\Microsoft\Internet Explorer\LowRegistry\Audio\PolicyConfig\PropertyStore" /F
REG ADD "HKCU\Software\Microsoft\Internet Explorer\LowRegistry\Audio\PolicyConfig\PropertyStore"

NET START Audiosrv

答案3

我必须一直执行 all-max -> reset。我终于在网上搜索了一下,看看是否有我遗漏的秘密热键或组合键。显然没有。:/

所以我做了一个自动脚本可以比人类更快地完成此操作:)我通过工具->构建对其进行了编译,这样我就可以通过在开始菜单中搜索来运行该 exe。

它会导致所有滑块取消静音并降至 50%。

音量_正常化.au3:

#include <GuiConstantsEx.au3>
#include <GuiSlider.au3>

Func SlideTo($Win, $Ctrl, $Pct)

    If Not IsInt($Pct) Or $Pct < 3 Or $Pct > 100 Then
        SetError(1)
        Return False
    EndIf

   $CtrlHandle = ControlGetHandle($Win, '', $Ctrl)
   if not $CtrlHandle Then
      SetError(2)
      Return False
   EndIf

    Local $SetValue, $SendValue
    If $Pct <= 51 Then
        $SetValue = $Pct + 1
        $SendValue = '{UP}'
    Else
        $SetValue = $Pct - 1
        $SendValue = '{DOWN}'
    EndIf
    _GUICtrlSlider_SetPos($CtrlHandle, $SetValue)
    Local $PrevOpt = Opt('SendKeyDelay', 1)
    ControlSend($Win, '', $Ctrl, $SendValue)
    Opt('SendKeyDelay', $PrevOpt)

    Return True
EndFunc

Func EachSliderTo($Win, $Pct)

   WinWait($Win, "")
   If Not WinActive($Win,"") Then WinActivate($Win,"")
   local $i = 1
   If not WinActive($Win,"") Then WinActivate($Win,"")
   While True
      $Ctrl = "[CLASS:msctls_trackbar32; INSTANCE:"& $i &"]"
      if not SlideTo($Win, $Ctrl, $Pct) Then
         ExitLoop
      EndIf
      $i = $i + 1
   WEnd
   Return True
EndFunc

$Win = "Volume Mixer"
$Prog = "SndVol.exe"
if Not WinActive($Win,"") Then
   if not WinActivate($Win,"") Then
      ShellExecute($Prog)
      If not WinActive($Win,"") Then WinActivate($Win,"")
   EndIf
EndIf
WinWait($Win)
EachSliderTo("Volume Mixer",100);
EachSliderTo("Volume Mixer", 50);

谢谢这个自动线程有关移动滑块控件的信息。

答案4

Windows 10 现在有一个重置按钮(欢呼!)但它埋在设置应用程序中,而不是在音量混合器弹出窗口中:

Start> Settings> 搜索“volume” > Sound mixer options> “重置为 Microsoft 推荐的默认值”:

或者:

Start> Settings> System> > Advanced sound options> App volume and device preferences> Sound mixer options> “重置为 Microsoft 推荐的默认值”:


您还可以拖动每个应用程序的音量控件,没有影响主音量(同样,为什么无法从音量混合器弹出窗口中实现这一点,我也不知道......)

在此处输入图片描述

相关内容