Подскажите, как можно получить видео и аудио потоки из avi файла с последующим их сохранением в отдельные файлы (видео поток в avi, то есть видео без звука, а аудио поток в wav, то есть сам звук avi).
Есть код (с использованием
vfw.pas) , но он не проходит на XP:
Код:
var
AVIFile: PAVIFile;
AudioStream: PAVIStream;
VideoStream: PAVIStream;
z: pAVICOMPRESSOPTIONS;
....
AviFileInit;
AudioIn := False; VidioIn := False;
z:=nil;
if AviFileOpenA(AVIFile, PChar(FileName), 0, nil) = 0 then
begin
if AviFileGetStream(AVIFile, AudioStream, StreamTypeAudio, 0) = 0 then
if AviSaveVA(PChar(WAVName), nil, nil, 1, AudioStream, z) = 0 then
AudioIn := True;
if AviFileGetStream(AVIFile, VideoStream, streamtypeVIDEO, 0) = 0 then
if AviSaveVA(PChar(AVIName), nil, nil, 1, VideoStream, z) = 0 then
VidioIn := True;
end;
AviStreamRelease(VideoStream);
AviStreamRelease(AudioStream);
AviFileExit;
end;
Не проходит функция AviSaveVA(...), то есть <>0.
Подскажите другую функцию с использованием vfw.pas или подправьте эту, если можете. Буду благодарен.
---Резерв---