DirectSound Stream 데이터 범위

이 예제에서는 KSDATARANGE_AUDIO 구조를 사용하여 DirectSound 스트림의 데이터 범위를 설명합니다.

  DataRange.FormatSize  = sizeof(KSDATARANGE_AUDIO);
  DataRange.Flags       = 0;
  DataRange.SampleSize  = 0;
  DataRange.Reserved    = 0;
  DataRange.MajorFormat = STATICGUIDOF(KSDATAFORMAT_TYPE_AUDIO);
  DataRange.SubFormat   = STATICGUIDOF(KSDATAFORMAT_SUBTYPE_PCM);
  DataRange.Specifier   = STATICGUIDOF(KSDATAFORMAT_SPECIFIER_DSOUND);
  MaximumChannels        = 4;   // max number of channels, or -1 for unlimited
  MinimumBitsPerSample   = 2;
  MaximumBitsPerSample   = 16;  // 16, 24, 32, etc.
  MinimumSampleFrequency = 5000;
  MaximumSampleFrequency = 48000;

이 예제의 멤버 값은 MaximumBitsPerSample 값을 제외하고 PCM 다중 채널 스트림 데이터 범위 예제의 멤버 값과 유사합니다. 이 값은 샘플 컨테이너 크기로 설정되며 8의 배수여야 합니다. 예를 들어 디바이스가 24비트 컨테이너에서 20비트의 유효한 오디오 데이터를 지원하는 경우 MaximumBitsPerSample 의 값을 24로 설정해야 합니다.