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 25H2 부팅 가능한 USB 설치 미디어를 만드는 방법

Windows 11 25H2 부팅 가능한 USB 설치 미디어를 만드는 방법

Windows 11 25H2 부팅 가능한 USB 설치 프로그램을 만들려면 Rufus, Ventoy, 명령 프롬프트 및 Media Creation을 사용할 수 있으며, 그 방법은 다음과 같습니다.

Windows 11용 빌드 26220.7653(KB5074157)에 새로운 다크 모드 개선 사항이 추가되었습니다(개발자, 베타).

Windows 11용 빌드 26220.7653(KB5074157)에 새로운 다크 모드 개선 사항이 추가되었습니다(개발자, 베타).

Windows 11용 KB5074157(빌드 26220.7653)은 다크 모드를 개선하고, WebP 배경화면 지원을 추가하며, 작업 표시줄, 시작 메뉴, 블루투스 등의 문제를 수정합니다.

Windows 11 업데이트 KB5074109는 재앙이었습니다 - 주요 문제점 목록

Windows 11 업데이트 KB5074109는 재앙이었습니다 - 주요 문제점 목록

2026년 1월 Windows 11 업데이트인 KB5074109는 충돌, 부팅 오류, Outlook 문제 및 제거 오류를 일으켜 사용자들이 업데이트를 제거해야 했습니다.

ChatGPT 대화 내용이 구글 검색 결과에 나타나지 않도록 하는 방법

ChatGPT 대화 내용이 구글 검색 결과에 나타나지 않도록 하는 방법

ChatGPT 대화 내용이 Google 검색 결과에 나타나지 않도록 하려면 공개적으로 공유된 ChatGPT 링크를 검토하고 삭제하세요. 방법은 다음과 같습니다.

Windows 11에 Windows Subsystem for Android(WSA)를 설치하는 방법

Windows 11에 Windows Subsystem for Android(WSA)를 설치하는 방법

Windows 11에서 Microsoft Store 또는 PowerShell을 사용하여 Android 앱을 실행하려면 Windows Subsystem for Android(WSA)를 설치할 수 있습니다. 방법은 다음과 같습니다.

ChatGPT가 AI 학습에 개인 데이터를 사용하는 것을 막는 방법

ChatGPT가 AI 학습에 개인 데이터를 사용하는 것을 막는 방법

OpenAI는 기본적으로 ChatGPT 대화 내용을 AI 학습에 활용하기 위해 수집합니다. 개인 정보 보호를 강화하기 위해 이 기능을 비활성화하는 방법을 알려드립니다.

Windows 11 빌드 27913에는 설정 앱 변경 사항이 포함되어 있습니다(카나리 버전).

Windows 11 빌드 27913에는 설정 앱 변경 사항이 포함되어 있습니다(카나리 버전).

Windows 11 빌드 27913(Canary)에는 새롭게 디자인된 설정 UI, Vista 시작음 복원, 검은 화면 배경 화면 문제 수정 등이 포함되어 있습니다.

Windows 11 24H2 릴리스용 빌드 26120.4733(KB5062651) 변경 사항(베타)

Windows 11 24H2 릴리스용 빌드 26120.4733(KB5062651) 변경 사항(베타)

Windows 11용 빌드 26120.4733(KB5062651)에는 새로운 AI 이미지 설명, 앱 권한 재설계 및 관리자 보호 기능이 베타 채널에 포함되어 있습니다.

Windows 11 25H2용 빌드 26200.5702(KB5062653)에 새로운 기능이 추가되었습니다(개발자용).

Windows 11 25H2용 빌드 26200.5702(KB5062653)에 새로운 기능이 추가되었습니다(개발자용).

Windows 11 25H2용 빌드 26200.5702(KB5062653)에는 AI 이미지 설명, 새로운 관리자 보안, 재설계된 권한 대화 상자 등이 포함되어 있습니다.

Windows 10에서 Winget을 사용하여 앱을 설치하는 방법

Windows 10에서 Winget을 사용하여 앱을 설치하는 방법

이제 winget 명령어를 사용하여 Windows 10에 앱을 설치할 수 있으며, Windows 패키지 관리자를 사용하여 설치하는 방법은 다음과 같습니다.