다음을 통해 공유


한 형식에서 다른 형식으로 데이터 변환

[이 페이지인 오디오 압축 관리자와 연결된 기능은 레거시 기능입니다. 새 코드에서 이 기능을 사용하지 않는 것이 좋습니다.]

ACM은 스트림 함수를 사용하여 데이터 형식 변환을 지원합니다. ACM의 변환기는 형식을 변경하지만 데이터 형식은 변경하지 않습니다. 예를 들어 변환기 모듈은 44kHz, 16비트 데이터를 44kHz, 8비트 데이터로 변경할 수 있습니다.

다음 ACM 함수는 데이터 형식 변환을 지원합니다. 일반적으로 사용하는 순서대로 나열됩니다.

  • acmStreamOpen 함수는 변환 스트림을 엽니다.
  • acmStreamSize 함수는 원본 또는 대상 버퍼의 적절한 크기를 계산합니다.
  • acmStreamPrepareHeader 함수는 변환에 사용할 원본 및 대상 버퍼를 준비합니다.
  • acmStreamConvert 함수는 원본 버퍼의 데이터를 대상 형식으로 변환하여 변환된 데이터를 대상 버퍼에 기록합니다.
  • acmStreamUnprepareHeader 함수는 acmStreamPrepareHeader에서 준비한 원본 및 대상 버퍼를 정리합니다. 원본 및 대상 버퍼를 해제하기 전에 이 함수를 호출해야 합니다.
  • acmStreamClose 함수는 변환 스트림을 닫습니다.

데이터를 변환할 때 먼저 원본 형식을 식별한 다음 대상 형식을 선택합니다. 이 작업을 수행하는 가장 쉬운 방법은 서식 선택 대화 상자를 표시하고 사용자의 서식 선택을 반환하는 acmFormatChoose 함수를 사용하는 것입니다.

원본 및 대상 형식을 알고 있는 경우 acmStreamOpen을 사용하여 변환 스트림을 열 수 있습니다. 그런 다음 acmStreamSize 함수를 사용하여 적절한 버퍼 크기를 확인할 수 있습니다.

다음 단계는 acmStreamPrepareHeader를 사용하여 변환에 사용할 버퍼를 준비하는 것입니다.

변환을 수행하려면 모든 버퍼가 처리될 때까지 acmStreamConvert 를 사용합니다. 변환이 완료되면 acmStreamUnprepareHeader를 사용하여 버퍼를 클린 다음 acmStreamClose를 사용하여 변환 스트림을 닫습니다.