如何在windows上拔下耳机时自动静音

下面是如何在你摘下耳机时自动静音你电脑的音频,就像智能手机一样。...

如果你能在拔下耳机的时候自动将电脑的音频输出静音,那不是很好吗?这样可以避免在凌晨不小心吵醒你的室友,或者在公共场合错误地透露你对布兰妮·斯皮尔斯的爱。

headphones-on-notebook-after-music-mixing

当然,您可以使用音量混音器将扬声器和耳机逐个静音。(了解有关在Windows10中自定义声音的更多信息。)但老实说,如果可以使用PowerShell实现自动化,就没有必要这么做。

下面是如何在你摘下耳机时自动静音你电脑的音频,就像智能**一样。

要开始,请打开记事本。然后,将下面的代码粘贴到空白文档中:

[cmdletbinding()]Param()#Adding definiti*** for accessing the Audio APIAdd-Type -TypeDefinition @'using System.Runtime.InteropServices;[Guid("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]interface IAudioEndpointVolume {// f(), g(), ... are unused COM method slots. Define these if you careint f(); int g(); int h(); int i();int SetMasterVolumeLevelScalar(float fLevel, System.Guid pguidEventContext);int j();int GetMasterVolumeLevelScalar(out float pfLevel);int k(); int l(); int m(); int n();int SetMute([MarshalAs(UnmanagedType.Bool)] bool bMute, System.Guid pguidEventContext);int GetMute(out bool pbMute);}[Guid("D666063F-1587-4E43-81F1-B948E807363F"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]interface IMMDevice {int Activate(ref System.Guid id, int clsCtx, int activationParams, out IAudioEndpointVolume aev);}[Guid("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]interface IMMDeviceEnumerator {int f(); // Unusedint GetDefaultAudioEndpoint(int dataFlow, int role, out IMMDevice endpoint);}[ComImport, Guid("BCDE0395-E52F-467C-8E3D-C4579291692E")] class MMDeviceEnumeratorComObject { }public class Audio {static IAudioEndpointVolume Vol() {var enumerator = new MMDeviceEnumeratorComObject() as IMMDeviceEnumerator;IMMDevice dev = null;Marshal.ThrowExceptionForHR(enumerator.GetDefaultAudioEndpoint(/*eRender*/ 0, /*eMultimedia*/ 1, out dev));IAudioEndpointVolume epv = null;var epvid = typeof(IAudioEndpointVolume).GUID;Marshal.ThrowExceptionForHR(dev.Activate(ref epvid, /*CLSCTX_ALL*/ 23, 0, out epv));return epv;}public static float Volume {get {float v = -1; Marshal.ThrowExceptionForHR(Vol().GetMasterVolumeLevelScalar(out v)); return v;}set {Marshal.ThrowExceptionForHR(Vol().SetMasterVolumeLevelScalar(value, System.Guid.Empty));}}public static bool Mute {get { bool mute; Marshal.ThrowExceptionForHR(Vol().GetMute(out mute)); return mute; }set { Marshal.ThrowExceptionForHR(Vol().SetMute(value, System.Guid.Empty)); }}}'@ -VerboseWhile($true){#Clean all events in the current session since its in a infinite loop, to make a fresh start when loop beginsGet-Event | Remove-Event -ErrorAction SilentlyContinue#Registering the Event and Waiting for event to be triggeredRegister-WmiEvent -Class Win32_DeviceChangeEventWait-Event -OutVariable Event |Out-Null$EventType = $Event.sourceargs.newevent | `Sort-Object TIME_CREATED -Descending | `Select-Object EventType -ExpandProperty EventType -First 1#Conditional logic to handle, When to Mute/unMute the machine using Audio APIIf($EventType -eq 3) {[Audio]::Mute = $trueWrite-Verbose "Muted [$((Get-Date).tostring())]"}elseif($EventType -eq 2 -and [Audio]::Mute -eq $true){[Audio]::Mute = $falseWrite-Verbose "UnMuted [$((Get-Date).tostring())]"}}

现在需要将文件保存为PS1格式。当您看到保存文件对话框时,从下拉菜单中选择所有文件并调用该文件自动静音.ps1. 文件名本身并不重要,所以只需选择一些容易记住的文件即可。

要激活脚本,右键单击新创建的文件并选择Run。脚本将一直处于活动状态,直到您关闭计算机。

这只是PowerShell提高工作效率的众多方法之一。有很多PowerShell cmdlet可以改善您的Windows体验。

图片来源:peus/照片

  • 发表于 2021-03-24 05:01
  • 阅读 ( 247 )
  • 分类:IT

你可能感兴趣的文章

为什么新的xbox无线耳机会改变游戏规则

... 相关:如何在Android上通过远程播放来流式传输Xbox游戏 ...

  • 发布于 2021-03-10 20:38
  • 阅读 ( 354 )

如何使用自动播放视频静音网站

浏览器可以很容易地将各个选项卡上的站点静音,这些选项卡在加载页面时自动播放视频或音频内容。如果您发现自己访问了大量带有侵入性自动播放视频的页面,并且只想阻止它,这些工具可以提供帮助。 ...

  • 发布于 2021-03-13 06:12
  • 阅读 ( 230 )

电脑扬声器坏了?如何修复没有声音

... 以下是如何在扬声器停止工作时修复计算机上的声音。 ...

  • 发布于 2021-03-18 04:24
  • 阅读 ( 324 )

如何改善或修复windows10中的音质

... 1如何改变音效 ...

  • 发布于 2021-03-25 09:38
  • 阅读 ( 263 )

mac上的“磁盘未正确弹出”是什么意思?

...弹出。当涉及到你的数据时,安全总比后悔好。 相关:如何在windows10上不再“安全地移除”USB驱动器

  • 发布于 2021-03-31 10:32
  • 阅读 ( 161 )

如何在windows上加密iphone或ipad的本地备份

...机,您将需要iTunes。(Mac用户可以从Finder备份。)下面是如何进行的。 如何在itunes中进行加密的本地备份 首先,如果你还没有安装iTunes for Windows。您可以通过适用于Windows 10的Microsoft应用商店免费下载它。安装后,启动iTunes。 ...

  • 发布于 2021-03-31 16:46
  • 阅读 ( 182 )

如何在Windows10上安全删除驱动器

...删除硬件”通知图标来安全删除驱动器。下面是方法。 如何在Windows10上安全地卸下u**驱动器 如果你有一个USB驱动器**你的Windows10机器,你想安全弹出,找到“安全删除硬件”图标(这看起来像一个USB插头)在你的任务栏通知区...

  • 发布于 2021-04-01 18:47
  • 阅读 ( 118 )

如何在windows10上不再“安全地移除”usb驱动器

你总是在拔掉U盘插头之前“弹出”U盘吗?你可以节省自己一些点击和一些时间与这些简单的提示,因为你再也不用弹出闪存驱动器。 在拔掉电源插头之前,务必确保驱动器未被使用 一般来说,移除USB驱动器(如拇指、硬盘等...

  • 发布于 2021-04-01 18:49
  • 阅读 ( 151 )

如何在oculus quest上无线玩steam vr游戏

Oculus Quest是一款完全独立的耳机。它没有PC专用耳机的电线。然而,如果你想在PC上使用它来玩Steam VR游戏,你需要特殊的软件来实现无线连接。 oculus link的无线替代品 Oculus Link是将Quest用作Steam VR耳机的官方方式,它需要USB电缆...

  • 发布于 2021-04-02 04:20
  • 阅读 ( 264 )

如何解决windows10中的声音问题

...从表面上看,没有明显的理由缺乏音频。本指南向您介绍如何修复Windows10中的声音问题。 不幸的是,声音问题可能很棘手。问题可能只存在于第三方软件中,需要修补程序。问题也可能源于windows10本身或底层硬件。可能的修复...

  • 发布于 2021-04-03 01:47
  • 阅读 ( 229 )

相关推荐