找回密码
 立即注册
查看: 157|回复: 5

连接蓝牙设备后VoiceMeeter自动切换为该设备

[复制链接]

1

主题

2

回帖

253

积分

中级会员

积分
253
发表于 2025-9-27 00:34:52 | 显示全部楼层 |阅读模式
本帖最后由 3132 于 2025-9-27 00:32 编辑

在蓝耳设备(如耳机)连接后在自动将VoiceMeeter输出设备(A1)切换为该设备


使用前请先将下图红框修改为自己想要自动切换的设备并自行修改自动触发的条件
下图红框处名称要和 VoiceMeeter→Menu→System settings / Options... 里显示的严格一致,并且这里如果显示你的设备驱动接口不是wdm还需要将前面Bus.device.wdm修改为对应接口
任务文件里还有一个切换设备后自动将A1音量-6db的子任务,只是个人使用需要,已经默认禁用,需要可以启用并修改增加/减少音量

d8sdvb.png


注意事项:
1、需要更改 PowerShell 的执行策略允许本地脚本运行。(以管理员权限打开 PowerShell 控制台输入:set-ExecutionPolicy RemoteSigned
2、任务判断的是 VoiceMeeter 64位程序。如果你运行的是 VoiceMeeter Banana或者Potato版本,需要修改“判断进程”这一步
3、会切换VoiceMeeter的A1设备,如果需要切换为A2,需要将上图红框前Bus[0].device.wdm改为Bus[1].device.wdm

Voicemeeter 耳机切换.ztt (9.98 KB, 下载次数: 2)

评分

参与人数 1金钱 +100 贡献 +5 收起 理由
作者君 + 100 + 5 很给力!

查看全部评分

回复

使用道具 举报

1

主题

7

回帖

49

积分

新手上路

积分
49
发表于 2025-10-12 14:46:41 | 显示全部楼层
好用,优秀,如果可以支持电脑插入有线耳机时也自动切换为有线耳机设备就好了
回复

使用道具 举报

1

主题

2

回帖

253

积分

中级会员

积分
253
 楼主| 发表于 2025-10-12 18:40:24 | 显示全部楼层
xingmiye 发表于 2025-10-12 14:46
好用,优秀,如果可以支持电脑插入有线耳机时也自动切换为有线耳机设备就好了 ...

如果是耳机从蓝牙切换为有线连接的话可以把这个任务复制一份,然后把 自动触发>蓝牙连接>执行时机 改为 蓝牙设备断开时 ,然后再把第二个子任务里的ps脚本从切换蓝牙设备改为切换到扬声器设备

如果是想要有线耳机链接的时候切换为该设备的话有点麻烦
因为zTasker的自动触发目前只有检测蓝牙设备的连接状态而没有检测有线耳机设备的连接状态之类的,我之前试过把自动触发改为“用powershell脚本每隔一段时间去匹配启用的音频输出设备,然后向VoiceMeeter查询当前a1设备,如果不匹配就切换设备”,但是频繁向VoiceMeeter请求会导致它一卡一卡的,就放弃了
回复

使用道具 举报

1

主题

7

回帖

49

积分

新手上路

积分
49
发表于 2025-10-12 22:05:36 | 显示全部楼层
3132 发表于 2025-10-12 18:40
如果是耳机从蓝牙切换为有线连接的话可以把这个任务复制一份,然后把 自动触发>蓝牙连接>执行时机 改为  ...

就是想要有线耳机连接的时候切换为该设备,我也研究了一下,发现确实很难实现,因为自动触发没有对音频硬件设备变化的检测,也确实不应该用频繁向voicemeeter请求这个方法。不知道zTasker后期会不会加入音频硬件设备变化的检测
回复

使用道具 举报

1

主题

7

回帖

49

积分

新手上路

积分
49
发表于 2025-10-12 23:34:53 | 显示全部楼层
本帖最后由 xingmiye 于 2025-10-13 00:12 编辑

刚测试了一下,插入有线耳机时,发现注册表会有变化,比如
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{GUID}下的DeviceState会从8变成1,拔掉有线耳机后又会从1变回8,但是好像zTasker自动触发里面的监控注册表项变化没有检测得那么细
回复

使用道具 举报

83

主题

879

回帖

4376

积分

超级版主

积分
4376
发表于 2025-10-14 10:34:16 | 显示全部楼层
xingmiye 发表于 2025-10-12 23:34
刚测试了一下,插入有线耳机时,发现注册表会有变化,比如
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows ...

zt是用的系统通知去感知整个注册表的变化,你可以用脚本读取指定的值
我会考虑一下是不是实现分支的监控
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|zTasker

GMT+8, 2025-11-4 03:49 , Processed in 0.054203 second(s), 25 queries .

快速回复 返回顶部 返回列表