Intervallo di dati di flusso DirectSound
In questo esempio viene usata una struttura KSDATARANGE_AUDIO per descrivere l'intervallo di dati per un flusso 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;
I valori membro in questo esempio sono simili a quelli dell'intervallo di dati di flusso multicanale PCM , ad eccezione del valore MaximumBitsPerSample . Questo valore è impostato sulla dimensione del contenitore di esempio e deve essere un multiplo di otto. Ad esempio, se il dispositivo supporta 20 bit di dati audio validi in contenitori a 24 bit, il valore per MaximumBitsPerSample deve essere impostato su 24.