Plage de données DirectSound Stream

Cet exemple utilise une structure KSDATARANGE_AUDIO pour décrire la plage de données d’un flux 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;

Les valeurs membres de cet exemple sont similaires à celles de l’exemple de plage de données de flux multicanal PCM , à l’exception de la valeur MaximumBitsPerSample . Cette valeur est définie sur la taille de conteneur de l’exemple et doit être un multiple de huit. Par exemple, si l’appareil prend en charge 20 bits de données audio valides dans des conteneurs 24 bits, la valeur de MaximumBitsPerSample doit être définie sur 24.