Windows 10에서 헤드폰이 분리되어 있을 때 자동으로 소리를 음소거하는 방법

Windows 10은 다른 오디오 장치에 대해 별도의 오디오 프로필을 유지할 수 있습니다. 연결하는 각 오디오 장치에 대해 다른 볼륨 레벨을 설정할 수 있으며 장치가 연결되면 볼륨이 자동으로 조정됩니다. 물론 오디오 장치를 항상 음소거 상태로 유지하는 사람은 없습니다. 볼륨을 높이거나 낮추지만 아무도 습관적으로 오디오 장치를 음소거하지 않습니다.

데스크탑에서 헤드폰을 사용하고 자주 연결을 해제해야 하는 경우 헤드폰을 뽑을 때 소리를 자동으로 음소거하는 작은 PowerShell 스크립트를 사용할 수 있습니다.

이것은 휴대폰이 하는 일입니다. 즉, 헤드폰을 뽑으면 음악이 자동으로 멈춥니다. 그 뒤에 있는 논리는 음악 감상을 끝냈거나 실수로 헤드폰을 빼서 헤드폰을 빨리 끌 방법이 필요하다는 것입니다. 스크립트는 기본적으로 GEEKEEFY의 Prateek Singh 이 동일한 원칙에 따라 작성했습니다  .

Windows 10에서 헤드폰이 분리되어 있을 때 자동으로 소리를 음소거하는 방법

소리 자동 음소거

메모장을 열고 다음을 붙여넣습니다.

[cmdletbinding()] Param() #오디오 API에 액세스하기 위한 정의 추가 Add-Type -TypeDefinition @' using System.Runtime.InteropServices; [Guid("5CDF2C82-841E-4546-9722-0CF74078229A"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] interface IAudioEndpointVolume { // f(), g(), ...는 사용되지 않는 COM 메서드 슬롯입니다. 관심이 있다면 이것을 정의하십시오. int f(); 정수 g(); 정수 h(); 정수 i(); int SetMasterVolumeLevelScalar(float fLevel, System.Guid pguidEventContext); 정수 j(); int GetMasterVolumeLevelScalar(out float pfLevel); 정수 k(); 정수 l(); 정수 m(); 정수 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)] 인터페이스 IMMDevice { int Activate(ref System.Guid id, int clsCtx, int activationParams, out IAudioEndpointVolume aev); } [Guid("A95664D2-9614-4F35-A746-DE8DB63617E6"), InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] 인터페이스 IMMDeviceEnumerator { int f(); // 미사용 int 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 IMMDeviceEnumeratorComObject() IMMDevice 개발 = 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; } 공개 정적 부동 볼륨 { get {float v = -1; Marshal.ThrowExceptionForHR(Vol().GetMasterVolumeLevelScalar(out v)); return v;} set {Marshal.ThrowExceptionForHR(Vol().SetMasterVolumeLevelScalar(value, System.Guid.Empty));} } 공개 정적 bool 음소거 { get { bool 음소거; Marshal.ThrowExceptionForHR(Vol().GetMute(음소거 해제)); 음소거 반환; } 설정 { Marshal.ThrowExceptionForHR(Vol().SetMute(값, System.Guid.Empty)); } } } '@ -Verbose While($true) { #현재 세션이 무한 루프이기 때문에 모든 이벤트를 정리하여 루프가 시작될 때 새로 시작하도록 합니다. Get-Event | Remove-Event -ErrorAction SilentlyContinue #이벤트 등록 및 이벤트 트리거 대기 Register-WmiEvent -Class Win32_DeviceChangeEvent Wait-Event -OutVariable 이벤트 |Out-Null $EventType = $Event.sourceargs. 새로운 이벤트 | ` 정렬 개체 TIME_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 " 음소거 해제 [$((Get-Date).tostring())]" } }

PS1 파일 확장자로 저장하십시오. 파일 형식 드롭다운에서 '모든 파일'을 선택했는지 확인합니다. 파일이 하는 일을 한 눈에 알 수 있는 이름을 지정하십시오. 실수로 삭제할 가능성이 낮지만 필요한 경우 쉽게 찾을 수 있는 위치에 저장합니다.

스크립트 실행

PowerShell은 스크립트를 자동 실행할 수 없습니다. 보안 조치가 내장되어 있어 이를 방지할 수 있지만 우회할 수 있는 방법이 있습니다. 우리는 당신이 그것을 할 수 있는 방법에 대한 자세한 기사를 가지고 있습니다. 지침에 따라 방금 만든 PowerShell 스크립트자동으로 실행하고 예약된 작업을 사용하여 PC를 부팅할 때마다 스크립트를 시작합니다.

또는 시스템을 부팅할 때 스크립트를 수동으로 실행할 수 있습니다. 사용한지 30분도 안됐는데 예전에 없이 어떻게 살았는지 모르겠네요.

댓글 남기기

Windows 11 업데이트(KB5083769) 문제 발생을 방지하고 신속하게 복구하는 방법

Windows 11 업데이트(KB5083769) 문제 발생을 방지하고 신속하게 복구하는 방법

Windows 11 업데이트를 안전하게 설치하는 방법, 버그가 많은 패치 화요일 업데이트를 피하는 방법, 복원 지점, 백업 및 수동 업데이트를 사용하여 신속하게 복구하는 방법을 알아보세요.

Windows 10 ESU용 KB5078885(빌드 19045.7058)가 2026년 3월 업데이트로 출시됩니다.

Windows 10 ESU용 KB5078885(빌드 19045.7058)가 2026년 3월 업데이트로 출시됩니다.

KB5078885(Windows 10 빌드 19045.7058)가 ESU를 통해 배포되며, 22H2 및 21H2 버전의 보안 부팅 인증서 업데이트와 함께 여러 문제를 해결합니다.

2026년에도 윈도우 11 앱이 다크 모드에서 흰색으로 깜빡이는 이유는 무엇일까요?

2026년에도 윈도우 11 앱이 다크 모드에서 흰색으로 깜빡이는 이유는 무엇일까요?

윈도우 11의 다크 모드 앱에서 여전히 흰색 화면이 깜빡이는 현상이 발생합니다. 2026년에도 이 문제가 지속되는 이유와 이것이 기존 시스템 설계에 대해 시사하는 바를 살펴보겠습니다.

Windows 11 26H2용 빌드 26300.8142(KB5079492)에 터치패드 변경 사항이 추가되었습니다(개발자용).

Windows 11 26H2용 빌드 26300.8142(KB5079492)에 터치패드 변경 사항이 추가되었습니다(개발자용).

Windows 11용 KB5079492(빌드 26300.8142) 업데이트에는 관리자 보호 기능, 작업 관리자의 NPU 인사이트, 터치패드 최적화 기능이 추가되었습니다. 개발자 및 베타 버전의 새로운 기능은 다음과 같습니다.

Windows 11 빌드 29558 및 28020.1797이 Canary Channel에 출시되었습니다.

Windows 11 빌드 29558 및 28020.1797이 Canary Channel에 출시되었습니다.

Windows 11 빌드 29558 및 28020.1797은 Canary Channel 테스터를 위해 Windows 콘솔의 대대적인 개편, 터미널 업그레이드, 버그 수정 및 개선 사항을 제공합니다.

마이크로소프트가 마침내 윈도우 11에서 윈도우 앱을 이용한 원격 데스크톱 사용을 허용했습니다.

마이크로소프트가 마침내 윈도우 11에서 윈도우 앱을 이용한 원격 데스크톱 사용을 허용했습니다.

Windows 앱이 이제 로컬 네트워크에서 원격 데스크톱을 지원하고, 안정성이 향상되었으며, Windows 11 및 10의 기존 클라이언트를 대체합니다.

Windows 11용 KB5053658(빌드 26120.3653) 업데이트는 베타 채널에 새로운 복구 기능을 추가합니다.

Windows 11용 KB5053658(빌드 26120.3653) 업데이트는 베타 채널에 새로운 복구 기능을 추가합니다.

Windows 11용 KB5053658 업데이트(빌드 26120.3653)에는 빠른 시스템 복구, 내레이터 음성 요약, 새로운 녹색 화면 오류, Copilot 변경 사항이 포함되어 있습니다.

Microsoft Edge의 새 탭 페이지에서 Copilot을 활성화하는 방법

Microsoft Edge의 새 탭 페이지에서 Copilot을 활성화하는 방법

Edge 새 탭에서 Copilot을 사용하려면 플래그 페이지를 열고 NTP 작성기, 채팅 순위, 집중 및 Copilot 검색 사용 항목을 켜십시오.

Windows 11 빌드 27842는 Canary Channel에서 새로운 시각적 변경 사항을 제공합니다.

Windows 11 빌드 27842는 Canary Channel에서 새로운 시각적 변경 사항을 제공합니다.

Windows 11 빌드 27842가 Canary Channel에 배포되었습니다. 이번 업데이트에는 새로운 배터리 아이콘, 업데이트된 버그 체크 오류 화면, 그리고 새로운 마우스 설정이 포함되어 있습니다.

Windows 11 빌드 22635.4870(KB5050087)은 베타 채널에 잠금 화면 변경 사항을 제공합니다.

Windows 11 빌드 22635.4870(KB5050087)은 베타 채널에 잠금 화면 변경 사항을 제공합니다.

Windows 11용 KB5050087 업데이트(빌드 22635.4870)가 베타 채널에 출시되었으며, 파일 탐색기의 잠금 화면 위젯 사용자 지정 및 변경 기능이 포함되어 있습니다.