병신같이 1 부터 숫자 하나씩 전부 녹음하다가 만든 함수...죽고싶은 심정...
(근데 소리는 그렇게 하나씩 녹음한게 확실히 자연스럽다... ... ...)
 
1 부터 9999 까지의 숫자를 소리로 출력할 수 있음.
일, 이, 삼, 사, 오, 육, 칠, 팔, 구, 십, 백, 천 을 알릴 수 있는 소리파일이 준비되어야 함.
 
첨부파일은 숫자가 녹음된 파일인데, 
!! 쓰다가 걸리면 책임 못짐. 그냥 목소리 좋은 사람한테 부탁해서 녹음한 걸 사용하자...
 
그리고 아래의 함수를 통해서 출력하면 됨.
무슨 ARS 간지 남.
 
 
procedure PlayNumberSound(No: Integer);
const
  DIVISOR: array [0..2] of Integer=(1000, 100, 10);
 
var
  Path: String;
  ResultInt: Integer;
  i: Integer;
 
begin
  // wav 파일이 모여사는 디렉토리
  Path:=ExtractFilePath(Application.ExeName)+'wav';
 
  // 천 단위부터 십 단위까지 출력
  for i:=0 to High(DIVISOR) do begin
    ResultInt:=No div DIVISOR[i];
    if ResultInt>0 then begin
      if
ResultInt>1 then PlaySound(PChar(Path+IntToStr(ResultInt)+'.wav'), 0, SND_SYNC);
      PlaySound(PChar(Path+IntToStr(DIVISOR[i])+'.wav'), 0, SND_SYNC);
      No:=No-(ResultInt*DIVISOR[i]);
    end;
  end; // for
 
  // 일 단위 출력
  if No>0 then PlaySound(PChar(Path+IntToStr(No)+'.wav'), 0, SND_SYNC);
end;



Posted by bloodguy
,