AutoHotKey v2:更改音频输出(使用 NirCmd)

问题描述 投票:0回答:2

假设我想要热键“Winkey + F1”、“Winkey + F2”和“Winkey + F3”(这样你只需要一只手)在耳机、扬声器和监听音频输出之间切换。我还希望在启动时默认使用耳机。

答案将在下面公布!

audio output autohotkey nircmd
2个回答
4
投票
  1. 如果您尚未下载 AutoHotKey 版本 2,请从 此处 (exe)此处 (zip)

  2. 此处 (x64)此处下载并安装 NirCmd。 复制nircmd.exe的路径

  3. 创建包含以下内容的 .ahk 文件(例如 ChangeAudioOutput_NirCmd.ahk),同时确保在第 21 行的代码中将

    C:\your\path\to\nircmd.exe
    更改为安装 nircmd.exe 的位置

#Requires AutoHotkey v2.0
; ======================================================================================================================
; Everything until the first `return` autoruns

; ======================================================================================================================
; Function definition. Changes Audio Output Device to `device`
; ======================================================================================================================
ChangeAudioOutput(device, show_msg_box:=true)
{
    symbols := Map("Headphones", "🎧", "Speakers", "🔊", "Display", "🖥️")  ; Python dict-like object, callable by `Val := Array[Key]`
    if (show_msg_box)
        symbol := symbols[device]
        {
            ; Show a message box
            MsgBox(
                ; MsgBox's message in the box
                "Selected device: " symbols[device] device,
                ; MsgBox's title/heading
                "Audio Output Device changed",  
                ; time after which the MsgBox will close
                "T0.3"
                )
        }
    Run("C:\your\path\to\nircmd.exe setdefaultsounddevice " device)  ; change device using nircmd
}

; set Headphones as default device for startup
ChangeAudioOutput("Headphones", false)  ; false -> don't show message box at startup
return  ; Everything above this `return` autoruns
; ======================================================================================================================



; ======================================================================================================================
; Audio Output Device Switch to Headphones/Speakers/Monitor
; ======================================================================================================================
; Audio Output Device Switch to Headphones
#F1::  ; Windows key + F1
{
    ChangeAudioOutput("Headphones")
}

; Audio Output Device Switch to Speakers
#F2::  ; Windows key + F2
{
    ChangeAudioOutput("Speakers")
}

; Audio Output Device Switch to Display/Monitor
#F3::  ; Windows key + F3
{
    ChangeAudioOutput("Monitor")
}
  1. 确保您所需的音频设备在声音控制面板中被称为准确“耳机”和“扬声器”。到达那里:

    • 控制面板 -> 硬件和声音 -> 声音(或:Winkey + R -> 输入不带引号的“control mmsys.cpl 声音”,按 Enter)。 那么如果它们的名称不是“耳机”、“扬声器”和“显示器”:
    • 右键单击所需的耳机和扬声器设备,然后单击“属性”,重命名它们 请注意,您当然也可以重命名代码中设备的名称。
  2. 为了让此功能在您重新启动电脑后也能正常工作,请执行以下操作:

    • 制作.ahk文件的快捷方式
    • 将快捷方式移至 Windows 的启动文件夹(Winkey+R -> 输入“shell:startup”,不带引号,然后按 Enter)

全部完成!


0
投票

^F1::; Ctrl + F1 运行,nircmd setdefaultsounddevice“耳机” 返回

^F2::; Ctrl + F2 运行,nircmd setdefaultsounddevice“扬声器” 返回

我正在用这个。

© www.soinside.com 2019 - 2024. All rights reserved.