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분도 안됐는데 예전에 없이 어떻게 살았는지 모르겠네요.

Leave a Comment

암호로 보호된 RAR 아카이브 파일을 일괄 추출하는 방법

암호로 보호된 RAR 아카이브 파일을 일괄 추출하는 방법

디렉토리에 RAR(WinRar의 일부) 압축 파일이 많이 있고, 대부분 암호로 보호되어 있나요? 그렇다면 일반적인 방법은 다음과 같습니다.

MP3 음악 파일을 무료로 빠르게 압축하세요

MP3 음악 파일을 무료로 빠르게 압축하세요

음악 파일을 압축하면 디스크 공간을 크게 절약하고 iPod이나 다른 MP3 플레이어에 더 많은 음악을 추가할 수 있습니다. 음악 파일이 있는 경우

비디오를 WebM 파일 형식으로 일괄 변환

비디오를 WebM 파일 형식으로 일괄 변환

이전에 리뷰한 무료 Miro Video Converter는 WebM 비디오 형식을 지원하지만 한 번에 하나의 비디오만 변환할 수 있습니다.

IrfanView의 6가지 멋진 기능

IrfanView의 6가지 멋진 기능

다양한 이미지 파일 및 형식의 엄청난 유입으로 인해 이미지 보기 및 편집 도구는 오늘날 필수 불가결한 요소가 되었습니다.

폴더/파일을 삭제할 수 없습니다, 액세스가 거부되었습니다, 파일이 사용 중입니다 오류 해결

폴더/파일을 삭제할 수 없습니다, 액세스가 거부되었습니다, 파일이 사용 중입니다 오류 해결

파일 및 폴더를 삭제하거나 복사할 때 발생하는 "액세스가 거부되었습니다" 및 "소스 파일이 사용 중일 수 있습니다" 오류를 해결하는 방법을 알아보세요.

간단한 단계로 Windows Media Player에서 디지털 미디어 구성

간단한 단계로 Windows Media Player에서 디지털 미디어 구성

Windows Media Player를 사용하여 디지털 미디어 라이브러리를 효율적으로 구성하는 방법을 알아보세요. CD를 가져오고, 재생 목록을 생성하고, 앨범 아트를 추가해 보세요.

Windows에서 파일 목록을 크기 및 날짜별로 정렬

Windows에서 파일 목록을 크기 및 날짜별로 정렬

DriveSort는 파일을 크기(가장 큰 파일)와 날짜(가장 최신 파일)별로 빠르게 정렬하고 나열할 수 있는 작고 휴대하기 편리한 유틸리티입니다.

Windows 오류 로그 파일을 찾고 읽는 방법

Windows 오류 로그 파일을 찾고 읽는 방법

Windows 오류 로그 파일을 찾고 읽는 방법

Discord에서 Netflix를 스트리밍하는 방법

Discord에서 Netflix를 스트리밍하는 방법

Discord에서 Netflix를 스트리밍하는 방법을 알고 싶으신가요? WebTech360Tips가 Discord에서 스트리밍을 시작할 수 있는 단계별 솔루션을 제공합니다.

Windows 11을 어떻게 설치하나요?

Windows 11을 어떻게 설치하나요?

Windows 11을 빠르게 설치하는 방법을 알아보세요. ISO 파일을 다운로드하고 안내에 따라 원활하게 업그레이드하세요.