Suppression du code pour traiter une valeur supérieure à 16 bits
étant donné que cet exemple traite uniquement l’audio 8 bits ou 16 bits, vous devez modifier le code dans CEcho :: ValidateMediaType pour retourner DMO _ _ TYPE E _ non _ accepté pour les types de média supérieurs à 16 bits. Pour ce faire, vous devez modifier le code dans le bloc switch qui teste les formats de type WAVE _ _ extensible. Remplacez le code de l’Assistant par l’exemple de code suivant :
case WAVE_FORMAT_EXTENSIBLE:
{
// Sample size is greater than 16-bit or is multichannel.
WAVEFORMATEXTENSIBLE *pWaveXT = (WAVEFORMATEXTENSIBLE *) pWave;
if (KSDATAFORMAT_SUBTYPE_PCM != pWaveXT->SubFormat)
{
return DMO_E_TYPE_NOT_ACCEPTED;
}
}
break;
Ensuite, supprimez ou commentez les sections de code dans DoProcessOutput qui gèrent le son haute résolution. Voici les sections qui commencent par le cas 24 et le cas 32.