5

我在自己构建的计算机上安装了 Windows 7 64 位专业版,因此​​没有制造商可以询问。我正在使用具有 7.1 和光纤输出的板载声卡。光输出插入到控制扬声器的天龙放大器。

我已经通过声卡上的光学端口将扬声器系统插入计算机。当我使用标准 Windows 驱动程序时,我只能获得立体声输出,因此我安装了 Realtek HD 音频驱动程序。这为我提供了成功的环绕声,但它并没有将其作为标准扬声器绑定,所以当我插入耳机并将它们定义为耳机时,没有任何反应,音频仍然进入扬声器系统,而耳机则没有。

我发现如果我在播放设备列表中禁用数字输出设备,音频会自动通过耳机重新路由。因此,我一直在尝试找到一种禁用或启用此设备的方法。我有一个可编程键盘,因此我可以将程序或脚本映射到备用键,因此我正在尝试编写一个程序来检查设备是启用还是禁用,然后将其更改为任何不是的,即如果关闭,如果关闭打开。

我试图找到硬件 ID 为
1. "HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_105BA601"
2. "HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_105BA601&REV_1000"

我曾计划使用 devcon(设备管理器的命令行替代品)创建一个批处理脚本。使用下面的代码来禁用或启用设备

devcon disable "HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_105BA601*"
devcon enable "HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_105BA601*"

但是 devcon 无法禁用这些设备,因为声卡上的光纤连接,我只能禁用整个声卡,这也会禁用耳机。

我对现在该做什么有点迷茫,我真的不希望我的兄弟需要玩禁用设备。

我愿意接受任何建议。我很乐意使用任何语言来做到这一点。我确定必须有一种方法可以从 c 中执行此操作,但我无法找到有关此的任何信息。我将不胜感激任何建议。我很高兴自己编写程序,但如果有人至少可以将我指向正确的方向,使用 api 或 devcon 之类的东西或某种语言的某种方式来做到这一点。我目前非常了解 VB6、VB.NET、VB 脚本、Java 和批处理脚本以及 Powershell,并且对 C、C++ 和 C#.NET 有一定的了解。

任何和所有的帮助将不胜感激

亲切的问候
德克斯特

4

1 回答 1

2

你可以试试这个:

devcon /r disable @"HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_105BA601*"
devcon /r enable @"HDAUDIO\FUNC_01&VEN_10EC&DEV_0888&SUBSYS_105BA601*"

问候,

朋友

于 2011-04-06T10:26:18.500 回答