GSM 같은 경우에는 다이얼로그 안뛰우는 방법은 여기 질문과 답변에서 확인후 잘됩니다.
그런데 mp3 의 경우에는 어떠한 식으로 해야 하나요?
TWaveFormatEx 구조체의 cbSize 가 GSM 의 경우에는 2, mp3 의 경우에는 12 byte 이던데..
12 byte 를 더 추가하는 방법은 어떻게 해야하나요?
format 을 적용해서 mp3 포맷으로 다이얼로그를 안뛰고싶습니다.
다음은 여기 질답란에서 시삽님이 다른분의 질문에 답변 달았던 내용입니다.
mp3 의 경우에는 어떻게 변형시켜야 하나요?
원래 GSM으로 해볼까 했는데..파일로 저장후에 읽어드릴려고 하니 노이즈가 상당히 심하네요.
컴포넌트는 ACMWAVEIO 던가??? 여기 자료실에서 ACM 으로 처음 나온것을 사용하였습니다.
type
PGSM610WaveFormat = ^TGSM610WaveFormat;
TGSM610WaveFormat = packed record
wfx: TWaveFormatEx;
wSamplesPerBlock: Word;
end;
function BuildGSM610Header(SampleRate: integer): PGSM610WaveFormat;
begin
Result := GlobalAllocMem(sizeOf(TGSM610WaveFormat));
with Result^ do
begin
wfx.wFormatTag := WAVE_FORMAT_GSM610;
wfx.nChannels := 1;
wfx.nSamplesPerSec := SampleRate;
wfx.wBitsPerSample := 0;
wfx.nAvgBytesPerSec:= 0;
wfx.nBlockAlign := 65;
wfx.cbSize := 2;
wSamplesPerBlock := 320;
case SampleRate of
8000 : wfx.nAvgBytesPerSec := 1625;
11025: wfx.nAvgBytesPerSec := 2239;
22050: wfx.nAvgBytesPerSec := 4478;
44100: wfx.nAvgBytesPerSec := 8957;
end;
end;
end;