Conversão de formato de várias etapas
Às vezes, o ACM não pode converter dados de um formato para outro em uma única etapa. Por exemplo, um aplicativo pode precisar converter dados estéreo de 16 bits e 44 kHz em ADPCM mono de 11 kHz. Se o compressor ou descompactador não puder fazer essa conversão diretamente, o aplicativo poderá tentar em duas etapas. Isso geralmente significa fazer uma conversão entre dois formatos PCM e, em seguida, outra conversão para o tipo de formato final.
Para converter em duas etapas, use a função acmFormatSuggest para localizar um formato PCM que corresponda ao formato ADPCM. Em seguida, use dois fluxos de conversão para executar a conversão. Por exemplo, execute uma conversão de PCM estéreo de 16 bits e 44 kHz para mono de 16 bits e 11 kHz e converta de mono de 16 bits e 11 kHz para mono ADPCM de 11 kHz.
A conversão de várias etapas também ocorre quando o formato de origem ou de destino não é PCM. Se o formato de origem não for PCM, ele deverá ser alterado para um formato PCM antes da conversão. Se o formato de destino não for PCM, a origem deverá ser convertida em um formato PCM intermediário e, em seguida, convertida no formato de destino final.
As conversões mais simples ocorrem quando os formatos de origem e destino são formatos PCM. Quando o formato de origem ou destino não é PCM, a conversão pode exigir uma etapa adicional. Se os formatos de origem e destino não forem PCM, a conversão geralmente exigirá mais de uma etapa e, em alguns casos, a conversão pode não ser possível.