요즘 델파이로 멀티미디어 플그램을 짜는중..아주 어려운 지경에 빠져서 고육지책으로 도움을 청하고자 메일드립니다.
실시간으로 수신되는 영상을 bitmap 파일로 변환하여 이를 AVI 파일로 만들어 저장하는 프로그램인데요..
혹시 사용해보셨는지 모르겠는데.. Aviwriter 라는 컴포넌트를 사용하여 구현해보았습니다.
그런데..동영상 파일 생성이 윈도우 98에서는 잘 되는데..윈2000이나 XP에서는 전혀 생성이 되지 않습니다.
'avifil32.dll' 에서 export된 함수를 사용하는데여..
도무지 해결의 기미가 안보입니다.
혹시나 해서 각 OS별 avifil32.dll 내부 구조를 분석해보니.. 함수 exports는 동일한 형식으로 똑같은 name으로 호출이 됩니다. 단지 틀린것은 Dll에서 export되는 함수의 어드레스값이 윈98 과 윈2000,XP가 틀리다는 단서하나입니다.
윈2000이나 XP에서 저장완료버튼을 누르면
해당 소스 :
// Open AVI file for write
if (AVIFileOpen(pFile, pchar(TempFileName),
OF_WRITE or OF_CREATE OR OF_SHARE_EXCLUSIVE, nil)
<> AVIERR_OK)
then
raise Exception.Create('Failed to create AVI video work file');
와 같은 예외메시지가 뜹니다. 윈98에서는 전혀 문제가 없고요..
혹시 Aviwriter관련해서 다루어보신 경험이 있으시거나. Avi 파일생성에 관련해서 조언부탁드립니다.
왜 윈2000이나 XP만 가믄 생성이 안되는지말입니다..
이것이 상관있을수도 있을까봐.... 델파이 6이고..윈98환경입니다.