다음을 통해 공유


AUDIO_VOLUME_NOTIFICATION_DATA 구조체(endpointvolume.h)

AUDIO_VOLUME_NOTIFICATION_DATA 구조는 오디오 엔드포인트 디바이스의 볼륨 수준 또는 음소거 상태 변경에 대해 설명합니다.

구문

typedef struct AUDIO_VOLUME_NOTIFICATION_DATA {
  GUID  guidEventContext;
  BOOL  bMuted;
  float fMasterVolume;
  UINT  nChannels;
  float afChannelVolumes[1];
} AUDIO_VOLUME_NOTIFICATION_DATA, *PAUDIO_VOLUME_NOTIFICATION_DATA;

멤버

guidEventContext

IAudioEndpointVolumeCallback::OnNotify 메서드에 대한 컨텍스트 값입니다. 이 멤버는 엔드포인트 볼륨 수준 또는 음소거 상태를 변경한 IAudioEndpointVolume 메서드 호출에 대한 입력 매개 변수로 제공된 이벤트 컨텍스트 GUID의 값입니다. 자세한 내용은 설명 부분을 참조하세요.

bMuted

오디오 스트림이 현재 음소거되어 있는지 여부를 지정합니다. bMutedTRUE이면 스트림이 음소거됩니다. FALSE이면 스트림이 음소거되지 않습니다.

fMasterVolume

오디오 스트림의 현재 master 볼륨 수준을 지정합니다. 볼륨 수준은 0.0에서 1.0까지의 범위로 정규화됩니다. 여기서 0.0은 최소 볼륨 수준이고 1.0은 최대 수준입니다. 이 범위 내에서 정규화된 볼륨 수준과 신호 진폭 감쇠의 관계는 비선형 오디오 테이퍼 곡선으로 설명됩니다. 오디오 테이퍼에 대한 자세한 내용은 오디오 테이퍼 볼륨 컨트롤을 참조하세요.

nChannels

오디오 스트림의 채널 수를 지정합니다. 이는 afChannelVolumes 배열의 요소 수이기도 합니다. 오디오 스트림에 n 채널이 포함된 경우 채널의 번호는 0에서 n-1로 지정됩니다. 특정 채널의 볼륨 수준은 인덱스가 채널 번호와 일치하는 배열 요소에 포함됩니다.

afChannelVolumes[1]

채널 볼륨 배열의 첫 번째 요소입니다. 이 요소는 오디오 스트림의 채널 0의 현재 볼륨 수준을 포함합니다. 오디오 스트림에 둘 이상의 채널이 포함된 경우 추가 채널의 볼륨 수준은 즉시 AUDIO_VOLUME_NOTIFICATION_DATA 구조를 따릅니다. 각 채널의 볼륨 수준은 0.0에서 1.0까지의 범위로 정규화됩니다. 여기서 0.0은 최소 볼륨 수준이고 1.0은 최대 수준입니다. 이 범위 내에서 정규화된 볼륨 수준과 신호 진폭 감쇠의 관계는 비선형 오디오 테이퍼 곡선으로 설명됩니다.

설명

이 구조체는 IAudioEndpointVolumeCallback::OnNotify 메서드에서 사용됩니다.

클라이언트는 엔드포인트 디바이스의 볼륨 수준 또는 음소거 상태가 변경될 때 알림을 받도록 등록할 수 있습니다. 다음 메서드로 인해 이러한 변경이 발생할 수 있습니다.

이러한 메서드 중 하나를 호출하면 볼륨 변경 이벤트(즉, 볼륨 수준 또는 음소거 상태 변경)가 발생하는 경우 메서드는 알림을 수신하도록 등록된 모든 클라이언트에 보냅니다. 메서드는 클라이언트의 IAudioEndpointVolumeCallback::OnNotify 메서드를 호출하여 클라이언트에 알릴 수 있습니다. OnNotify 호출을 통해 클라이언트는 변경 사항을 설명하는 AUDIO_VOLUME_NOTIFICATION_DATA 구조체에 대한 포인터를 받습니다.

이전 목록의 각 메서드는 이벤트 컨텍스트 GUID에 대한 포인터인 pguidEventContext라는 입력 매개 변수를 허용합니다. 클라이언트에 알림을 보내기 전에 메서드는 pguidEventContext가 가리키는 이벤트 컨텍스트 GUID를 OnNotify 메서드를 통해 클라이언트에 제공하는 AUDIO_VOLUME_NOTIFICATION_DATA 구조의 guidEventContext 멤버에 복사합니다. pguidEventContextNULL이면 guidEventContext 멤버의 값이 GUID_NULL 설정됩니다.

OnNotify 메서드 구현에서 클라이언트는 해당 호출에서 이벤트 컨텍스트 GUID를 검사하여 해당 GUID 또는 다른 클라이언트가 볼륨 변경 이벤트의 원본인지 여부를 검색할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows Vista [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 [데스크톱 앱 | UWP 앱]
머리글 endpointvolume.h

추가 정보

핵심 오디오 구조

IAudioEndpointVolume 인터페이스

IAudioEndpointVolume::SetChannelVolumeLevel

IAudioEndpointVolume::SetChannelVolumeLevelScalar

IAudioEndpointVolume::SetMasterVolumeLevel

IAudioEndpointVolume::SetMasterVolumeLevelScalar

IAudioEndpointVolume::SetMute

IAudioEndpointVolume::VolumeStepDown

IAudioEndpointVolume::VolumeStepUp

IAudioEndpointVolumeCallback 인터페이스

IAudioEndpointVolumeCallback::OnNotify