目录
装完新电脑后遇到一个烦恼,我在看视频时喜欢用音响外放,但打游戏时又需要用耳机听声辨位,每次切换都得用鼠标点右下角的小喇叭,对于我这样的懒狗来说,这个过程真的很麻烦,就想自己搞一个脚本,只需要按下一个按键就能快速在两个设备间切换,就像静音键那样的效果。
本文的实现不需要复杂的操作,需要用到的工具仅有 Nircmd 和一个可以自定义宏的键盘(本文使用RAZER黑寡妇蜘蛛V3竞技版),Nircmd是一个非常强大的命令行实用工具,允许您在不显示任何用户界面的情况下执行一些有用的任务。通过使用简单命令即可重新启动Windows或关闭计算机、创建文件快捷方式、更改创建/修改日期、关闭你的显示器等等…在您按照本文复现后,可以用类似的方式DIY各种各样的快捷功能,拓展资料会放在文末。
具体实现方法如下:
1. 下载Nircmd
Download NirCmd 64-bit
该链接为官方链接,打开Nircmd官网,一直拉到底部,即可看到此链接)
一直划到底部
2. 安装Nircmd
将下载好的压缩包解压后打开,可以看到如下内容
双击nircmd.exe,弹出该弹窗
点击Copy To Windows Directory按钮(这一步是为了将nircmd加入Windows系统路径,使用时就不再需要每次都输入nircmd的路径
注意! 如果这一步报错,请用管理员身份运行,或者手动复制 nircmd.exe 到C:\Windows
下即可。
如果在
C:\Windows
路径下可以找到 nircmd.exe 则代表安装成功,如图所示:
也可以简单测试一下nircmd:Win+R运行cmd,输入
nircmd infobox "Hello World !" "message"
,弹出下框即为正确安装:
此过程如有问题,可参考文末第二个视频
3. 重命名音频输出设备的名称
在电脑
设置 -> 系统 -> 声音 -> 更多声音设置
中将自己想要控制的音频输出设备重命名为“耳机”和“音响”(只是为了方便识别),并禁用了其它没用的输出设备:
4. 编写批处理文件
【23.11.9更新】今天看到评论突然意识到上面的注释如果直接复制到bat文件中可能会出问题导致无法使用,所以特意留一份删除注释版,直接复制下面无注释版本的,应该可行(11.30更新:不,并不可行)。
【23.11.30更新】今天看到另一条评论,发现我的删除注释版不能直接复制,可能是一些隐晦的格式问题,解决方法是直接复制原代码,然后自己删除注释即可。
初写博客问题很多,感谢指正!
在桌面新建一个记事本,并写入以下内容:
// 采用一个很简单的逻辑,如果能优化请告诉我,我也想学习学习
@echo off //关闭回显
chcp 65001 > nul //UTF-8编码
setlocal enabledelayedexpansion //设置局部变量
set tempfile=%TEMP%\tempfile.txt //导入一个临时文件用来存储当前设备标记(如果没有则会在%TEMP%路径下创建一个临时文件)
if exist "%tempfile%" (
for /F %%i in (%tempfile%) do (set currentdevice=%%i)//读取文件内容
) else ( //将默认设备初始化为耳机,或者改成你自己取的名字
echo 耳机 > "%tempfile%"
set currentdevice=耳机
)
if "!currentdevice!"=="耳机" (
echo 音响 > "%tempfile%"
C:\Windows\nircmd.exe nircmd.exe setdefaultsounddevice "音响"
) else (
echo 耳机 > "%tempfile%"
C:\Windows\nircmd.exe nircmd.exe setdefaultsounddevice "耳机"
)
endlocal
exit // 执行完后自动关闭窗口
保存文本,关闭记事本,重命名
.txt
文件后缀为.bat
,使其成为一个批处理可执行文件
@echo off
chcp 65001 > nul
setlocal enabledelayedexpansion
set tempfile=%TEMP%\tempfile.txt
if exist “%tempfile%” (
for /F %%i in (%tempfile%) do (set currentdevice=%%i)
) else (
echo 耳机 > “%tempfile%”
set currentdevice=耳机
)
if “!currentdevice!”==“耳机” (
echo 音响 > “%tempfile%”
C:\Windows\nircmd.exe nircmd.exe setdefaultsounddevice “音响”
) else (
echo 耳机 > “%tempfile%”
C:\Windows\nircmd.exe nircmd.exe setdefaultsounddevice “耳机”
)
endlocal
exit
此处可以双击试运行一下,看看设备是否更改
5. 键盘宏配置
本文使用了雷蛇自带的软件“雷云”,在“宏”一栏新建一个宏文件,然后点击
插入 -> 运行命令
在运行命令框中输入你刚才编写的bat文件路径即可,然后将该宏绑定一个空闲按键(如F4)
这样就搞定了! (按两下F4试试效果吧~)文章来源:https://www.toymoban.com/news/detail-790694.html
文章来源地址https://www.toymoban.com/news/detail-790694.html
相关参考
- 【爱折腾】如何使用宏按键一键切换PC音频输出设备
- 【鼓捣东西】Nircmd?没听说过,但确实厉害
- 【Nircmd官网】
- 【Nircmd使用文档中文翻译帖子】
到了这里,关于【Win下实现一键快速切换音频输出设备】的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!