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 7のアップデートの修復と修正

Windows 7のアップデートの修復と修正

Windows Updateは基本的にレジストリやDLL、OCX、AXファイルと連携して動作します。これらのファイルが破損した場合、Windows Updateのほとんどの機能は利用できなくなります。

Returnil Virtual System 2010 – システムを仮想化

Returnil Virtual System 2010 – システムを仮想化

最近、新しいシステム保護スイートがキノコのように登場し、どれも新たなウイルス対策/スパム検出ソリューションを提供し、運が良ければ

Windows 10/11でBluetoothをオンにする方法

Windows 10/11でBluetoothをオンにする方法

Windows 10/11でBluetoothをオンにする方法を学びましょう。Bluetoothデバイスを正しく動作させるには、Bluetoothをオンにする必要があります。ご安心ください、簡単です!

PDF Riderは優れたオープンソースのPDF管理ソフトウェアです

PDF Riderは優れたオープンソースのPDF管理ソフトウェアです

以前、私たちはNitroPDFをレビューしました。これは、PDFの結合や分割などのオプションを使用して、ユーザーが文書をPDFファイルに変換できる優れたPDFリーダーです。

テキストクレンザーでテキストファイルをクリーンアップする

テキストクレンザーでテキストファイルをクリーンアップする

不要な文字が多数含まれた文書やテキストファイルを受け取ったことはありませんか?テキストにはアスタリスク、ハイフン、空白などが大量に含まれていますか?

Windows 7 タスクバーの Google クイック検索ボックス

Windows 7 タスクバーの Google クイック検索ボックス

タスクバーのWindows 7スタートオーブの横にある小さなGoogleの長方形アイコンについて多くの人が尋ねてきたので、ついにこれを公開することにしました。

Windows 7 での uTorrent の修正

Windows 7 での uTorrent の修正

uTorrentは、トレントをダウンロードするための最も人気のあるデスクトップクライアントです。私のWindows 7では問題なく動作しますが、一部のユーザーは

目をリラックスさせる2つの素晴らしいツール

目をリラックスさせる2つの素晴らしいツール

誰もがコンピューターで作業しているときは頻繁に休憩を取る必要があります。休憩を取らないと、目が飛び出る可能性が高くなります(飛び出るというより、飛び出るという感じです)。