Windows10でヘッドフォンが接続されていないときにサウンドを自動的にミュートする方法

Windows 10は、オーディオデバイスごとに個別のオーディオプロファイルを保持できます。接続するオーディオデバイスごとに異なる音量レベルを設定でき、デバイスを接続すると、音量が自動的に調整されます。もちろん、オーディオデバイスを常にミュートしておく人は誰もいません。音量は増減しますが、オーディオデバイスを習慣的にミュートする人は誰もいません。

デスクトップでヘッドフォンを使用していて、それらを切断しなければならないことが多い場合は、ヘッドフォンのプラグを抜くと自動的にサウンドをミュートする小さなPowerShellスクリプトを使用できます。

これは携帯電話が行うことです。つまり、ヘッドホンを抜くと、音楽は自動的に停止します。この背後にある論理は、あなたが音楽を聴き終えたか、誤ってヘッドフォンを取り外したため、それをオフにする簡単な方法が必要であるということです。スクリプトは基本的に、GEEKEEFYのPrateekSinghによって同じ原則に基づいて作成され ました

Windows10でヘッドフォンが接続されていないときにサウンドを自動的にミュートする方法

サウンドを自動的にミュート

メモ帳を開き、以下を貼り付けます。

[cmdletbinding()] Param()#System.Runtime.InteropServicesを使用してAudio API Add-Type -TypeDefinition @ 'にアクセスするための定義を追加します。[Guid( "5CDF2C82-841E-4546-9722-0CF74078229A")、InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] interface IAudioEndpointVolume {// f()、g()、...は未使用のCOMメソッドスロットです。int 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(); //未使用のintGetDefaultAudioEndpoint(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)); 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)); ミュートを返します。} set {Marshal.ThrowExceptionForHR(Vol()。SetMute(value、System.Guid.Empty)); }}} '@ -Verbose While($ true){#無限ループにあるため、現在のセッションのすべてのイベントをクリーンアップして、ループの開始時に新たな開始を行いますGet-Event | Remove-Event -ErrorAction SilentlyContinue#イベントの登録とイベントがトリガーされるのを待機していますRegister-WmiEvent -Class Win32_DeviceChangeEvent Wait-Event -OutVariable Event | Out-Null $ EventType = $ Event.sourceargs。newevent | `Sort-ObjectTIME_CREATED-降順| `Select-Object EventType -ExpandProperty EventType -First 1#処理する条件付きロジック、オーディオAPIを使用してマシンをミュート/ミュート解除するタイミングIf($ EventType -eq 3){[Audio] :: Mute = $ true Write-Verbose" Muted [$((Get-Date).tostring())] "} elseif($ EventType -eq 2-and [Audio] :: Mute -eq $ true){[Audio] :: Mute = $ false Write-Verbose" UnMuted [$((Get-Date).tostring())] "}}

PS1のファイル拡張子で保存します。[ファイルの種類]ドロップダウンから[すべてのファイル]を選択していることを確認してください。ファイルの機能が一目でわかる名前をファイルに付けます。誤って削除する可能性が低い場所だけでなく、必要に応じて簡単に見つけられる場所に保存してください。

スクリプトの実行

PowerShellは、スクリプトを自動実行するだけでは不十分です。組み込みのセキュリティ対策があり、それを防ぐことができますが、それを回避する方法があります。そのための詳細な記事があります。指示に従って、作成したPowerShellスクリプト自動実行し、スケジュールされたタスクを使用して、PCを起動するたびにスクリプトを開始します。

または、システムの起動時にス���リプトを手動で実行することもできます。私はそれを30分未満使用していますが、以前はそれなしでどのように生活していたのかわかりません。

コメントを残す

Windows 10の旧バージョンのISOファイルをダウンロードする方法(2026年版)

Windows 10の旧バージョンのISOファイルをダウンロードする方法(2026年版)

Windows 10の古いISOファイルをダウンロードするには、UUP Dumpを開き、カスタムISOを作成するためのスクリプトをダウンロードして実行し、Rufusを使用してUSBメディアを作成します。

Copilot+ PC (ARM64) にWindows 11をクリーンインストールする

Copilot+ PC (ARM64) にWindows 11をクリーンインストールする

ARM64 Copilot+ PCにWindows 11をクリーンインストールします。USBメモリの作成、ドライブの消去、OSの再インストール、セットアップの完了までを含みます。

アルテミスII地球の写真をダウンロードして、Windows 11の壁紙に設定しましょう。

アルテミスII地球の写真をダウンロードして、Windows 11の壁紙に設定しましょう。

NASAの壁紙から「Hello, World」の背景画像をダウンロードして、Windows 11のデスクトップ背景として設定しましょう。

Windows 11でWinRE用の回復パーティションを再作成する方法

Windows 11でWinRE用の回復パーティションを再作成する方法

Windows 11で回復パーティションを再作成するには、メディアにある同じwinre.wimまたはinstall.wimを使用してDiskPartを使用できます。

Clonezilla(無料)を使用してWindows 11ドライブを新しいSSD、NVMe、HDDにクローンする方法

Clonezilla(無料)を使用してWindows 11ドライブを新しいSSD、NVMe、HDDにクローンする方法

Clonezillaを使えば、Windows 11のインストール環境を新しいSSD、HDD、またはUSB外付けハードドライブに無料でクローンできます。その方法をご紹介します。

Windows 11 25H2 ISOファイルのダウンロード方法

Windows 11 25H2 ISOファイルのダウンロード方法

新機能や変更点を利用するためにWindows 11 25H2 ISOをダウンロードするには、Microsoftサポート、Insiderプログラム、UUP Dump、または直接リンクを使用してください。

Windows 11 25H2 tiny11 ISO ファイルの直接ダウンロード(x64 および arm64 PC 用)

Windows 11 25H2 tiny11 ISO ファイルの直接ダウンロード(x64 および arm64 PC 用)

Tiny11Builderスクリプトを使用せずに、IntelおよびAMD(x64)およびARM(arm64)向けのWindows 11 25H2 tiny11 ISOファイルをダウンロードできるようになりました。

Windows 11でMicrosoft Edgeをアンインストールする方法

Windows 11でMicrosoft Edgeをアンインストールする方法

Windows 11または10でMicrosoft Edgeをアンインストールするには、IntegratedServicesRegionPolicySetを編集し、インストール済みアプリの設定から「アンインストール」を選択します。

Windows 11でタスクマネージャーの重複プロセスバグを修正する方法

Windows 11でタスクマネージャーの重複プロセスバグを修正する方法

Windows 11では、タスクマネージャーを閉じた後にプロセスが重複する問題に対して、taskkill、レジストリ、ViveToolを使用するなど、いくつかの修正方法があります。

Windows 11で自動更新を無効にする方法

Windows 11で自動更新を無効にする方法

Windows 11で自動更新を無効にするには、Windows Updateの「一時停止」オプションを使用するか、グループポリシーで完全にオフにします。手順は以下のとおりです。