切换默认声音输出设备的简单方法

rob*_*eii 21 audio windows-7

我想要一种更简单的方法来将我的默认声音设备从我的声卡更改为我的 USB 耳机。

目前需要非常精确的右键单击、左键单击、另一次右键单击和另外两次左键单击。

理想情况下,我可以用快捷键交换它。(在 XP 中它更容易一些,但不是很多。)

首选软件解决方案,但我愿意接受使用硬件的建议。

我目前正在运行 Windows 7。

Fra*_*urt 17

免费和开源:SoundSwitch

在此处输入图片说明

  • 看起来原作者 Jeroen Pelgrims 于 2015 年 8 月将开发移交给 Antoine Aflalo,后者针对 Windows 10 对其进行了更新,并将开发活动移至 [Belphemur/SoundSwitch on github](https://github.com/Belphemur/SoundSwitch/发布)。 (2认同)

Jer*_*ert 14

我使用NirCMD,这是一个漂亮的命令行工具,它允许您使用脚本编辑许多 Windows 设置。

在这种情况下,那就是

nircmd.exe setdefaultsounddevice "USB Headset"
Run Code Online (Sandbox Code Playgroud)

我用它来将我的主显示器切换为我的电视,并通过 HDMI 将声音输出到该设备:

nircmdc.exe setprimarydisplay \\.\DISPLAY7
nircmdc.exe setdefaultsounddevice "SONY TV-4"
Run Code Online (Sandbox Code Playgroud)


nix*_*xda 9

使用AutoIt

主要优点是您不必安装任何软件。它开箱即用。创建该工具后,在桌面上放置一个快捷方式以切换设备。

如何设置

  1. 用记事本创建一个新的文本文件并复制并粘贴代码

    Run("c:\windows\system32\control.exe mmsys.cpl")
    WinWaitActive("Sound")
    WinSetOnTop ("Sound","Sound", 1 )
    send("{DOWN}")
    if ControlCommand("Sound", "", 1002, 'IsEnabled') Then
        ControlClick("Sound", "Set Default", 1002)
        $message = "Speakers"
    else
        send("{DOWN}")
        ControlClick("Sound", "Set Default", 1002)
        $message = "Headset"
    EndIf
    WinClose("Sound")
    TrayTip("", $message, 5)
    Sleep(2000)
    
    Run Code Online (Sandbox Code Playgroud)
  2. send("{DOWN}")根据您的需要编辑第 4 行和第 8 行。上面的示例代码仅在设备 #1 和 #2 之间切换。您必须根据需要编辑两行。看我下面的解释。

  3. “扬声器”“耳机”替换为您对应的设备名称或类似名称
    稍后,如果您切换声音设备,此提示将在您的托盘中显示 5 秒钟

  4. 在非英语 Windows 版本上,您必须第 6 行和第 10 行中的Set Default替换为您本地化的按钮文本
    在此处输入图片说明

  5. 将文件另存为something.au3

  6. 下载AutoIt的压缩版本并解压。转到子文件夹Aut2Exe并启动Aut2exe.exe以将 .AU3 脚本转换为 .EXE 文件。你完成了

参考所有 AutoIt 命令


或者使用 AutoHotKey

基本上是一样的,只有 AutoHotKey。键绑定是在脚本中完成的,#!z这意味着每次按下Alt+ Win+ 时z都会在设备 #1 和 #2 之间切换。

如何设置

  1. 将下面的代码粘贴到文本文件中并将其另存为 SoundToggle.ahk

    #!z::
    Run, c:\windows\system32\control.exe mmsys.cpl    
    WinWaitActive, Sound
    WinSet, AlwaysOnTop, On, Sound    
    Send, {DOWN}    
    ControlGet, MyState, Enabled, , Button2
    If (MyState = 1){
        ControlClick, Button2, A
    } Else {
        Send, {DOWN}
        ControlClick, Button2, A
    }    
    WinClose, Sound        
    return
    
    Run Code Online (Sandbox Code Playgroud)
  2. 下载AutoHotKey(Unicode 32 位)并解压AutoHotKey.exe

  3. 创建该 .EXE 的快捷方式并根据您自己的路径修改目标行

    "C:\myfolder\AutoHotkey.exe" "C:\myfolder\SoundToggle.ahk"
    
    Run Code Online (Sandbox Code Playgroud)
  4. 将快捷方式移动到您的启动文件夹


如何编辑send("{DOWN}")线条

Win+打开声音面板R并输入control mmsys.cpl sound。您想知道需要按多少次DOWN才能到达第一个声音设备以及DOWN再次按多少次才能到达第二个设备。

例如,要切换设备 #3 和 #5,您必须按下三次send("{DOWN 3}"),然后再按下两次send("{DOWN 2}")才能到达第五个设备(向下 3 次 + 向下 2 次 = 第 5 个设备)。你明白了。

在此处输入图片说明


小智 8

这个名为“ Coastal Audio Changer ”的应用程序应该适用于 Windows 7。截至 2012 年,它提供免费试用,购买价格为 3 美元。作者 Andrew Bailey 在这个专门的Coastal Audio Changer网站上托管了试用和购买链接。

  • 现在使用它是因为它更简单,效果更好,并且是开源的:http://soundswitch.codeplex.com/ (6认同)
  • 您能在这里总结一下解决方案吗?当该链接失效时(当,而不是如果)时,你的答案将变得毫无用处。 (2认同)