Intervalo de dados do DirectSound Stream
Este exemplo usa uma estrutura KSDATARANGE_AUDIO para descrever o intervalo de dados de um fluxo 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;
Os valores de membro neste exemplo são semelhantes aos do exemplo de intervalo de dados de fluxo multicanal do PCM , com exceção do valor MaximumBitsPerSample . Esse valor é definido como o tamanho do contêiner de exemplo e deve ser um múltiplo de oito. Por exemplo, se o dispositivo der suporte a 20 bits de dados de áudio válidos em contêineres de 24 bits, o valor de MaximumBitsPerSample deverá ser definido como 24.