-
스피커, 헤드셋 전환 원클릭 프로그램 만들기개발 언어/Python 2024. 8. 15. 14:05반응형
스피커와 헤드셋을 번갈아가면서 사용하는데, 매번 소리 설정을 열어서 클릭하기가 너무 귀찮았습니다.
소리설정 열고, 출력장치 눌러서 바꾸고, 입력장치 눌러서 바꾸면
총 5번의 클릭이 소요됩니다.
하루에 한번씩만 바꿔도 365일 * 5번 = 1825번의 클릭을 하게 됩니다.
가끔 잘못누르면 더 늘어납니다.
그래서 파이썬을 이용해 프로그램을 만들었고 아주 편안하게 사용할 수 있게 되었습니다
SoundVolumeView 설치
https://www.nirsoft.net/utils/sound_volume_view.html
View / change sound volume on Windows 11/10/7/8/2008 from command-line or GUI
Display, change, mute, unmute the volume level of sound components on Windows 11/10/7/8/2008 from command-line or GUI
www.nirsoft.net
먼저 nirsoft에서 만든 soundvolumeview 를 설치합니다.
nircmd는 윈도우10, 11에서 작동하지 않습니다.
압축은 적당한 경로에 풀면 되는데, 저는 아래 경로에 저장해두었습니다.
soundvolumeview_path = r'F:\Program Files\soundvolumeview-x64\SoundVolumeView.exe'파이썬 코드 작성
import subprocess def set_audio_device(device_name, default_type): # SoundVolumeView.exe 경로 설정 soundvolumeview_path = r'F:\Program Files\soundvolumeview-x64\SoundVolumeView.exe' # 기본 장치 설정 명령어 실행 command = [soundvolumeview_path, '/SetDefault', device_name, default_type] subprocess.run(command, check=True) def switch_to_set_1(): # Set 1: Output: 2- JBL Quantum Duo, Input: USB Condenser Microphone set_audio_device("2- JBL Quantum Duo", "all") # 출력 장치 설정 set_audio_device("USB Condenser Microphone", "all") # 입력 장치 설정 def switch_to_set_2(): # Set 2: Output: 3- G733 Gaming Headset, Input: 3- G733 Gaming Headset set_audio_device("3- G733 Gaming Headset", "all") # 출력 장치 설정 set_audio_device("3- G733 Gaming Headset", "all") # 입력 장치 설정 # 예시 사용 #switch_to_set_1() switch_to_set_2()
1번은 스피커와 스탠드마이크
2번은 헤드셋입니다.
이름은 소리 설정에서 보이는것을 그대로 쓰면 됩니다.
코드 빌드
pyinstaller --onefile --icon=headset.ico --name=new_audio_switcher audio_switcher.py
구글에서 적당한 스피커와 헤드셋 이미지를 가져와서
headset.ico, speaker.ico로 저장해두고, 빌드하면 이미지를 가지고 빌드가 완료됩니다.
Error
한번 스피커로 빌드하고나서, 헤드셋으로 빌드하는데 스피커 아이콘이 계속해서 나옵니다.
이 경우에는 윈도우 캐시에 남아있기 때문이라고 합니다.
build폴더를 삭제하고, 실행창을 열어서 아래와 같이 입력하여 캐시를 삭제합니다.
taskkill /IM explorer.exe /F DEL /A /Q "%localappdata%\IconCache.db" start explorer.exe
728x90반응형'개발 언어 > Python' 카테고리의 다른 글
[실전] 파이썬으로 웹크롤링을 해보자 - Selenium으로 원하는 정보 크롤링하기 (0) 2024.04.01 파이썬 pandas xlrd.biffh.XLRDError: Excel xlsx file; not supported 에러 (0) 2024.03.31 VS Code에 Anaconda 연동하는 방법 (0) 2023.09.05 Anaconda 에서 Python 버전 변경하는 방법 (0) 2023.09.05