winsound — Windows용 사운드 재생 인터페이스

winsound — Windows용 사운드 재생 인터페이스

winsound 모듈은 Windows 플랫폼이 제공하는 기본 사운드 재생 장치에 대한 접근을 제공해요. 함수와 여러 상수를 포함해요.

가용성(Availability): Windows.

출처: Python documentation

본문

winsound.Beep(frequency, duration)

PC 스피커를 비프(Beep) 해요. frequency 매개변수는 소리의 주파수(헤르츠)를 지정하며 37~32,767 범위여야 해요. duration 매개변수는 소리가 지속되어야 하는 밀리초 수를 지정해요. 시스템이 스피커를 비프할 수 없으면 RuntimeError가 발생해요.

winsound.PlaySound(sound, flags)

Platform API의 기본 PlaySound() 함수를 호출해요. sound 매개변수는 파일 이름, 시스템 사운드 별칭, bytes류 객체의 오디오 데이터, 또는 None일 수 있어요. 그 해석은 flags 값에 따라 달라지며, flags는 아래 설명된 상수의 비트별 OR 조합일 수 있어요. sound 매개변수가 None이면 현재 재생 중인 파형 사운드가 중지돼요. 시스템이 오류를 나타내면 RuntimeError가 발생해요.

winsound.MessageBeep(type=MB_OK)

Platform API의 기본 MessageBeep() 함수를 호출해요. 레지스트리에 지정된 대로 사운드를 재생해요. type 인자는 재생할 사운드를 지정하는데, 가능한 값은 -1, MB_ICONASTERISK, MB_ICONEXCLAMATION, MB_ICONHAND, MB_ICONQUESTION, MB_OK예요. 값 -1은 "단순 비프"를 생성하며, 사운드를 달리 재생할 수 없을 때의 최종 대체 수단이에요.

상수

  • winsound.SND_FILENAMEsound 매개변수는 WAV 파일의 이름. SND_ALIAS와 함께 사용하지 마세요.
  • winsound.SND_ALIASsound 매개변수는 레지스트리의 사운드 연결 이름. 이러한 이름이 없으면 SND_NODEFAULT도 지정되지 않았다면 시스템 기본 사운드를 재생하고, 기본 사운드가 등록되어 있지 않으면 RuntimeError를 발생시켜요. SND_FILENAME과 함께 사용하지 마세요.

모든 Win32 시스템은 최소한 다음을 지원하며, 대부분 더 많은 것을 지원해요: 'SystemAsterisk'(Asterisk), 'SystemExclamation'(Exclamation), 'SystemExit'(Exit Windows), 'SystemHand'(Critical Stop), 'SystemQuestion'(Question).

import winsound
# Windows 종료 사운드 재생
winsound.PlaySound("SystemExit", winsound.SND_ALIAS)
  • winsound.SND_LOOP — 사운드를 반복 재생. 블로킹을 피하려면 SND_ASYNC 플래그도 사용해야 해요. SND_MEMORY와 함께 사용할 수 없어요.
  • winsound.SND_MEMORYPlaySound()sound 매개변수는 bytes류 객체인 WAV 파일의 메모리 이미지.
  • winsound.SND_PURGE — 지정된 사운드의 모든 인스턴스 재생을 중지. 최신 Windows 플랫폼에서는 지원되지 않아요.
  • winsound.SND_ASYNC — 즉시 반환해 사운드가 비동기로 재생되도록 해요.
  • winsound.SND_NODEFAULT — 지정된 사운드를 찾을 수 없으면 시스템 기본 사운드를 재생하지 않아요.
  • winsound.SND_NOSTOP — 현재 재생 중인 사운드를 중단하지 않아요.
  • winsound.SND_NOWAIT — 사운드 드라이버가 바쁘면 즉시 반환. 최신 Windows 플랫폼에서는 지원되지 않아요.
  • winsound.SND_APPLICATIONsound 매개변수는 레지스트리의 애플리케이션별 별칭. SND_ALIAS 플래그와 결합해 애플리케이션 정의 사운드 별칭을 지정할 수 있어요.
  • winsound.SND_SENTRY — 사운드가 재생될 때 SoundSentry 이벤트를 트리거. 버전 3.14에서 추가.
  • winsound.SND_SYNC — 사운드를 동기적으로 재생. 기본 동작이에요. 버전 3.14에서 추가.
  • winsound.SND_SYSTEM — 사운드를 시스템 알림 사운드용 오디오 세션에 할당. 버전 3.14에서 추가.

MessageBeep 타입 상수

  • winsound.MB_ICONASTERISK — SystemDefault 사운드 재생
  • winsound.MB_ICONEXCLAMATION — SystemExclamation 사운드 재생
  • winsound.MB_ICONHAND — SystemHand 사운드 재생
  • winsound.MB_ICONQUESTION — SystemQuestion 사운드 재생
  • winsound.MB_OK — SystemDefault 사운드 재생
  • winsound.MB_ICONERROR — SystemHand 사운드 재생. 버전 3.14에서 추가
  • winsound.MB_ICONINFORMATION — SystemDefault 사운드 재생. 버전 3.14에서 추가
  • winsound.MB_ICONSTOP — SystemHand 사운드 재생. 버전 3.14에서 추가
  • winsound.MB_ICONWARNING — SystemExclamation 사운드 재생. 버전 3.14에서 추가

더 알아보기 (Learn more)