我使用自己搭建的计算机,安装了 Windows 7 64 位专业版操作系统,没有制造商可供咨询。我正在使用一个有7.1声道和光学输出的内置音频卡。光纤输出插在 Denon 声音放大器上,可以控制扬声器。
我通过声卡的光学端口将扬声器系统连接到电脑。当我使用标准 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 也有一些了解。
谢谢您的帮助!
祝好,Dexter
我通过声卡的光学端口将扬声器系统连接到电脑。当我使用标准 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 也有一些了解。
谢谢您的帮助!
祝好,Dexter