USB声卡/耳机随机不是默认设备
本帖最后由 RECKY 于 2024-12-2 15:50 编辑问题环境:
易乐游2.3.7.0
问题现象:
客户机USB声卡/耳机随机不是默认设备。
问题解决:
这种情况优先使用:传送门 的教程,设置下。设置后发现没有效果,自动获取的USB设备只有一个,导致批处理自动结束,这里为修改过程。可以直接跳到文章底部拿文件↓↓↓
原批处理:
@echo off
::读取USB声卡设备信息保存到usb.txt文件
devcon64 find usb\class_01 >usb.txt
::判断USB声卡数量
for /f "tokens=2 delims=:" %%a in ('find /c /v "" usb.txt')do set/a result=%%a+0
::echo %result%
::USB声卡数量为1,则直接退出,不做任何操作
if %result% ==2 (exit)
::USB声卡数量>1,禁用所有的盒子声卡
devcon64 disable "USB\VID_0D8C&PID_013C"
devcon64 disable "USB\VID_0D8C&PID_000A"
::禁用再启动,避免出现USB声卡XX
:1
::devcon64 disable usb\class_01
::ping 127.0.0.1 -n 2 >nul
::devcon64 enable usb\class_01
测试运行批处理:
devcon64 find usb\class_01 >usb.txt
打开usb.txt中只获取到一条记录
只有一条记录,USB声卡数量为1,则直接退出,不做任何操作。导致设置不生效。
因为要将USB声卡设置为默认则需要将批处理修改下:
@echo on
::读取USB声卡设备信息保存到usb.txt文件
::devcon64 find usb\class_01 >usb.txt
::判断USB声卡数量
for /f "tokens=2 delims=:" %%a in ('find /c /v "" usb.txt')do set/a result=%%a+0
::echo %result%
::USB声卡数量为1,则直接退出,不做任何操作
if %result% ==2 (exit)
::USB声卡数量>1,禁用所有的盒子声卡
devcon64 disable "USB\VID_2B0D&PID_0031&MI_00\6&318F3969&0&0000"
devcon64 disable "USB\VID_2B0D&PID_0031&MI_00"
devcon64 disable "USB\VID_2B0D&PID_0031&REV_0100&MI_00"
devcon64 disable "USB\VID_2B0D&PID_0031&MI_00"
devcon64 disable "USB\Class_01&SubClass_01&Prot_00"
devcon64 disable "USB\Class_01&SubClass_01"
devcon64 disable "USB\Class_01"
devcon64 disable "USB\VID_0955&PID_9000"
devcon64 disable "HDAUDIO\FUNC_01"
devcon64 disable "HDAUDIO\FUNC_01&VEN_10DE&DEV_009E&SUBSYS_1458404D&REV_1001"
devcon64 disable "HDAUDIO\FUNC_01&VEN_10DE&DEV_009E&SUBSYS_1458404D"
::禁用再启动,避免出现USB声卡XX
:1
devcon64 disable usb\class_01
ping 127.0.0.1 -n 2 >nul
devcon64 enable usb\class_01
::ping 127.0.0.1
::pause
修改内容:
一、将devcon64 find usb\class_01 >usb.txt改为::devcon64 find usb\class_01 >usb.txt 不执行自动获取。【客户机上可以运行一次后再修改,以便获取默认USB硬件ID信息】
二、将在::USB声卡数量>1,禁用所有的盒子声卡下方将所有的声卡硬件ID都添加进去【设备管理器-声音、视频和游戏控制器-选择声卡-右击-属性-详细信息-属性:硬件ID-值-右击复制(有多个ID都要复制粘贴)】
三、在usb.txt 中将第二部的硬件ID都粘贴进去(如下图)
四、将禁用再启动,避免出现USB声卡XX下方的代码修改
::devcon64 disable usb\class_01
::ping 127.0.0.1 -n 2 >nul
::devcon64 enable usb\class_01
修改为:
devcon64 disable usb\class_01
ping 127.0.0.1 -n 2 >nul
devcon64 enable usb\class_01
去除前方的::
最终效果:
批处理流程简单说明下,获取usb.txt的数量【其实这步可有可无,可删除】,禁用硬件ID对应的声卡,只启用USB声卡。
使用方法:将引号中声卡的硬件ID修改为客户机声卡的实际ID后(如上图区域),服务端开机启动项-将start.vbs设置启动程序。 USB PNP 、声卡PNP 都开启。
已修改USB声卡设置默认: 若不生效是硬件ID不同,记事本打开hub.bat文件替换修改硬件ID,批处理内有说明。
页:
[1]