오디오 데이터 형식

웨이브 오디오 스트림의 데이터 형식을 지정하기 위해 KSDATAFORMAT 구조체 뒤에 WAVEFORMATEX 또는 KSDSOUND_BUFFERDESC 구조체가 바로 뒤에 옵니다. KSDATAFORMAT의 지정자 멤버는 다음과 같은 두 값 중 하나로 설정됩니다.

  • KSDATAFORMAT_SPECIFIER_WAVEFORMATEX

    데이터 형식이 waveIn 또는 waveOut 애플리케이션에서 사용되는 웨이브 스트림에 속한다는 것을 나타냅니다. 이 경우 KSDATAFORMAT 구조체의 FormatSize 가 충분히 큰 경우 KSDATAFORMAT 구조 다음에 오는 데이터 형식 지정자는 WAVEFORMATEX 구조체입니다.

  • KSDATAFORMAT_SPECIFIER_DSOUND

    데이터 형식이 DirectSound 애플리케이션에서 사용되는 웨이브 스트림에 속한다는 것을 나타냅니다. 이 경우 KSDATAFORMAT 구조 다음에 나오는 데이터 형식 지정자는 포함된 WAVEFORMATEX 구조체를 포함하는 KSDSOUND_BUFFERDESC 구조체입니다.

KSDATAFORMAT_WAVEFORMATEX 구조체는 KSDATAFORMAT 구조체와 그 뒤에 나오는 WAVEFORMATEX 구조체를 모두 캡슐화합니다. 마찬가지로 KSDATAFORMAT_DSOUND 구조체는 KSDATAFORMAT 구조체와 그 뒤에 나오는 DSOUND_BUFFERDESC 구조체를 모두 캡슐화합니다.

KSDATAFORMAT_WAVEFORMATEX 또는 KSDATAFORMAT_DSOUND 구조체의 마지막 항목은 포함된 WAVEFORMATEX 구조체입니다. KSDATAFORMAT_DSOUND 경우 WAVEFORMATEX 구조체는 포함된 DSOUND_BUFFERDESC 구조체에 포함됩니다. 두 경우 모두 WAVEFORMATEX 구조체는 WAVEFORMATEXTENSIBLE 구조체의 시작일 수 있으며, 이 경우 WAVEFORMATEX의 wFormatTag 멤버가 WAVE_FORMAT_EXTENSIBLE 값으로 설정됩니다. 자세한 내용은 확장 가능한 Wave-Format 설명자를 참조하세요.

MIDI 스트림 또는 DirectMusic 스트림의 데이터 형식을 지정하려면 KSDATAFORMAT 구조로 충분합니다. 다음에 추가 정보가 제공되지 않습니다.

웨이브 및 DirectSound 데이터 형식의 예는 PCM 스트림 데이터 형식DirectSound Stream 데이터 형식을 참조하세요. MIDI 및 DirectMusic 데이터 형식의 예는 MIDI 스트림 데이터 형식DirectMusic Stream 데이터 형식을 참조하세요.