Partager via


Plage de données PCM High Bitdepth Stream

Cet exemple utilise une structure KSDATARANGE_AUDIO pour décrire la plage de données d’un flux PCM à bits élevés.

  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_WAVEFORMATEX);
  MaximumChannels        = 4;   // max number of channels, or -1 for unlimited
  MinimumBitsPerSample   = 2;
  MaximumBitsPerSample   = 24;  // 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 MaximumBitsPerSample valeur, qui est supérieure à 16. Cette valeur est définie sur le nombre maximal de bits valides pris en charge. Par exemple, si l’appareil prend en charge 20 bits de données audio valides dans des conteneurs 24 bits, la valeur pour MaximumBitsPerSample doit être définie sur 20.