Delen via


DirectSound Stream-gegevensbereik

In dit voorbeeld wordt een KSDATARANGE_AUDIO structuur gebruikt om het gegevensbereik voor een DirectSound-stroom te beschrijven.

  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;

De ledenwaarden in dit voorbeeld zijn vergelijkbaar met die van het PCM-multikanaal gegevensbereik, met uitzondering van de MaximumBitsPerSample-waarde. Deze waarde is ingesteld op de grootte van de voorbeeldcontainer en moet een veelvoud van acht zijn. Als het apparaat bijvoorbeeld 20 bits aan geldige audiogegevens in 24-bits containers ondersteunt, moet de waarde voor MaximumBitsPerSample worden ingesteld op 24.