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分未満使用していますが、以前はそれなしでどのように生活していたのかわかりません。

Leave a Comment

ドライブのアイコンとフォルダ画像を簡単に変更する方法

ドライブのアイコンとフォルダ画像を簡単に変更する方法

ドライブアイコンの変更 Windowsのデフォルトのドライブアイコンに飽きていませんか?ドライブのアイコンを次のアイコンに変更する簡単な方法をご紹介します。

無料のキーボードスパイロガーソフトウェア

無料のキーボードスパイロガーソフトウェア

Hookerは、キーボードのクリックやクリップボードの内容などをすべて記録できる無料のポータブルキーロガーです。ステルスモードで実行して、すべての操作を監視できます。

Windows用Stickiesはデスクトップに黄色の付箋を表示する

Windows用Stickiesはデスクトップに黄色の付箋を表示する

Stickies for Windowsは、Macの人気メモアプリのクローン版で、MicrosoftのOSに移植されています。私たちの武器庫に嬉しい追加です。

BMPreVIEW - 無料の大容量BMP画像ビューア

BMPreVIEW - 無料の大容量BMP画像ビューア

BMPreVIEWは、BMP形式の大きな画像を高速にプレビューできる、使いやすい無料アプリケーションです。Windows用の大きなBMP画像プレビューツールとして機能します。

PfmPad – グラフィック研究者のための高度な画像ビューア

PfmPad – グラフィック研究者のための高度な画像ビューア

いいえ、これは単なる画像ビューアではありません。開発者のゲイリー氏によると、PfmPadはグラフィックス研究者にとって便利な機能を提供し、

LyricToy – iTunesの歌詞を入手

LyricToy – iTunesの歌詞を入手

iTunes 9がリリースされましたが、iTunesのどのバージョンにも長い間欠けていた機能が1つあります。それは歌詞のサポートです。曲を聴くたびに、

Windows 7用Windowsフォトビューアー7

Windows 7用Windowsフォトビューアー7

Windows 7には、Windows Vistaに似たWindowsフォトビューアーというデフォルトの画像ビューアーが搭載されています。Microsoftは外観を変更しましたが、

デスクトップでFacebookチャットを使う3つの方法

デスクトップでFacebookチャットを使う3つの方法

Facebookの組み込みチャット機能は便利ですが、デスクトップ版のIMがありません。チャットのためだけに何時間もFacebookのウィンドウを開く人がいるでしょうか?ブラウザがクラッシュしたり、

OutlookとThunderbirdから削除されたメールを復元する方法

OutlookとThunderbirdから削除されたメールを復元する方法

大切なメールを誤って削除してしまったことはありませんか?ご安心ください。簡単に復元できます。Mail CureはWindows用の無料ポータブルツールで、

無料でコンピュータアクティビティ監視ソフトウェアを作成する(ガイド)

無料でコンピュータアクティビティ監視ソフトウェアを作成する(ガイド)

コンピュータアクティビティ監視ソフトウェアを無料で作成する方法をご紹介します。コーディングは不要です。WebTech360Tipsの簡単な手順に従ってください。