连接两个同名播放设备时如何设置默认音频设备

Posted

技术标签:

【中文标题】连接两个同名播放设备时如何设置默认音频设备【英文标题】:How to set default audio device when two playback devices with same names are connected 【发布时间】:2017-03-14 13:53:16 【问题描述】:

当连接两个同名播放设备时,我正在尝试设置默认音频设备。

详情: 对于具有不同名称的单个或播放设备,我可以使用 nircmd.exe 设置默认值。但是在我的笔记本电脑上连接 USB 扬声器时。在播放设备中,它显示两个与“扬声器”同名的扬声器。在这种情况下,我无法按照我的要求设置默认播放设备。默认情况下将第一个扬声器设置为默认设置。

所以有人可以帮我解决这个问题。

【问题讨论】:

您打算编写自己的切换器程序还是最终用户的问题? 是的,我打算编写自己的切换程序。最初,我从设置默认播放设备的自动化开始。当仅连接一个播放设备或两个具有不同名称的播放设备时,我能够处理这种情况。但是对于共享相同名称的设备,我无法这样做。 【参考方案1】:

可以通过右键单击“属性”来重命名条目。 如果它通过删除仍然存在,则没有信息。

【讨论】:

【参考方案2】:

找到解决方案。为此,我们可以参考第一代议长。如果它符合您的要求。然后我们将获得它的参考并执行适当的操作。

【讨论】:

【参考方案3】:

重命名条目不会持续存在。

不过,除了 nircmd,nirsoft 还提供了一个名为 SoundVolumeView 的工具,借助“命令行友好 ID”,它可以处理具有相同名称的设备

.\SoundVolumeView.exe /sjson list.json

返回 list.json 中可用设备的列表

例子:

[
  
    "Name":"5 - PL4071UH",
    "Type":"Device",
    "Device Name":"AMD High Definition Audio Device",
    "Command-Line Friendly ID":"AMD High Definition Audio Device\\Device\\5 - PL4071UH\\Render",
    ....
  ,
  
    "Name":"Casque",
    "Type":"Device",
    "Device Name":"Tronsmart Onyx Ace Hands-Free AG Audio",
    "Command-Line Friendly ID":"Tronsmart Onyx Ace Hands-Free AG Audio\\Device\\Casque\\Capture",
    ...
  
]

然后,您可以使用以下命令更改设备:

.\SoundVolumeView.exe /SetDefault "AMD High Definition Audio Device\\Device\\5 - PL4071UH\\Render"

【讨论】:

以上是关于连接两个同名播放设备时如何设置默认音频设备的主要内容,如果未能解决你的问题,请参考以下文章

大难题,win10怎么同时让两个播放设备同时发声

两个树莓派(或香蕉派)之间的音频直播测试

华为云服务器没有声卡如何让服务器发出声音

手机连接两个蓝牙设备,选择耳机输出音量

电脑能不能同时输出两个音频设备?

设置默认音频捕获设备(特定麦克风)