DirectSound 資料流程資料範圍

此範例會使用 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;

此範例中的成員值類似于 PCM 多重通道資料流程資料範圍 範例的成員值,但 MaximumBitsPerSample 值除外。 此值設定為範例容器大小,且應該是八的倍數。 例如,如果裝置在 24 位容器中支援 20 位的有效音訊資料, 則 MaximumBitsPerSample 的值應該設定為 24。