다중 단계 형식 변환
경우에 따라 ACM은 한 단계에서 데이터를 한 형식에서 다른 형식으로 변환할 수 없습니다. 예를 들어 애플리케이션은 16비트 44kHz 스테레오 데이터를 11kHz mono ADPCM으로 변환해야 할 수 있습니다. 압축기 또는 압축 해제기가 이 변환을 직접 수행할 수 없는 경우 애플리케이션은 두 단계로 시도할 수 있습니다. 이는 일반적으로 두 PCM 형식 간에 한 번의 변환을 한 다음 최종 형식 형식으로 변환하는 것을 의미합니다.
두 단계로 변환하려면 acmFormatSuggest 함수를 사용하여 ADPCM 형식과 일치하는 PCM 형식을 찾습니다. 그런 다음 두 개의 변환 스트림을 사용하여 변환을 수행합니다. 예를 들어 16비트, 44kHz 스테레오 PCM에서 16비트, 11kHz 모노로 한 번의 변환을 수행한 다음, 16비트, 11kHz 모노에서 11kHz mono ADPCM으로 변환합니다.
원본 또는 대상 형식이 PCM이 아닌 경우에도 다중 단계 변환이 발생합니다. 원본 형식이 PCM이 아닌 경우 변환 전에 PCM 형식으로 변경해야 합니다. 대상 형식이 PCM이 아닌 경우 원본을 중간 PCM 형식으로 변환한 다음 최종 대상 형식으로 변환해야 합니다.
가장 간단한 변환은 원본 및 대상 형식이 모두 PCM 형식일 때 발생합니다. 원본 또는 대상 형식이 PCM이 아닌 경우 변환에 추가 단계가 필요할 수 있습니다. 원본 형식과 대상 형식이 모두 PCM이 아닌 경우 변환에는 일반적으로 둘 이상의 단계가 필요하며, 경우에 따라 변환이 불가능할 수 있습니다.