我有一个普通的 LCD 显示器作为主显示器,还有一台高清 LCD 电视作为第二台显示器(通过 HDMI 连接)。我还有一套以前用过的电脑(Windows 7 机器)的普通扬声器(在我使用电视作为第二台显示器之前)。当我使用电视作为第二台显示器时,我希望音频从电视发出。但是,我经常将电视用作电视,在这种情况下,我希望电脑的音频从扬声器发出。有什么方法可以实现这一点吗?
似乎如果我将电视设置为默认音频,那么即使我关闭电视(或者更有可能关闭有线电视盒的输入),音频仍会通过电视而不是扬声器传输。有没有一种解决方案不需要我在每次想要切换上下文时手动更改设置?
答案1
这实际上通过一些脚本或编码就可以实现。
有一个WMI Win32_DesktopMonitor 类它有一个名为“可用性”的属性。
可用性属性列出了显示器可能处于的 17 种状态。您可能想要检查 0x03 的值(正在运行或全功率)。但是,您必须尝试使用电视的返回值来确定最佳值。
考虑到这一点,您可以更改默认声音设备,也可以通过脚本/编码进行更改。请参阅此例子。
因此,可以编写一个程序/脚本来监控电视的状态并根据需要切换声音设备。但是,为硬件编写它肯定需要您付出一些努力。
答案2
请参阅这些关于可能使您的生活更轻松的免费产品的讨论:
Vista 音频转换器- 自动切换音频设备以适应不同的应用
Win7音频切换器:根据主显示器自动切换扬声器(音频设备)
快速声音切换帮助从系统托盘切换声音设备
自动热键使用热键更改默认音频设备的脚本
答案3
有些 HDTV/视频卡组合会告诉计算机“我不再监视你”,然后 Windows 可以切换回来。从你的设置来看,我假设情况并非如此。
对于自动化方式来说,这将是可行的方法;不幸的是,我不知道哪些电视和 GFX 卡可以做到这一点。
下一个最佳解决方案是在任务栏上创建一个快捷方式,这样您就可以按Windows+1或Windows+2来切换音频。但是要创建此快捷方式,您需要找到 Windows 在注册表中存储音频输出设备的位置,并将该条目导出到新文件。当它连接到电视时执行相同的操作。不幸的是,我不知道 Windows 在哪里存储该信息,因此这取决于另一个问题或另一个用户来解释如何。
答案4
我的设置有效,但是,每次我插入新的显示器或设置某些东西时,我都必须付费才能使其再次正常工作,到目前为止,我还不确定我是如何做到正确的。
我目前的设置是在英特尔图形和媒体控制面板上,或者任何类似的设置界面。我有两种模式,一种是电视时间模式,一种是正常使用模式。
首先,我设置了选项一,保存为“电视时间”,我将显示器设置为以电视的分辨率克隆显示。在音频(播放设备)下,我将电视设置为默认设备。因此,当选择“电视时间”模式时,视频将自动转到 HDMI,音频将自动转到电视。
我第二次设置了我的主模式,并将其保存为“正常模式”。正常使用设置为单显示器,正确的显示器分辨率,并将显示器设置为主显示器。因此,当您切换到“正常模式”时,它会关闭 HDMI,然后在声音中,它不再将电视作为音频选项,因此在声音(播放设备)选项中,“扬声器”设置为默认音频设备。