Показать сообщение отдельно
  #1  
Старый 18.01.2014, 21:35
zibert zibert вне форума
Прохожий
 
Регистрация: 28.08.2012
Адрес: NikolayevCity
Сообщения: 40
Версия Delphi: Семерка))
Репутация: 10
По умолчанию

Подскажите, как можно получить видео и аудио потоки из 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 или подправьте эту, если можете. Буду благодарен.

---Резерв---
__________________
Если новая программа с первого раза компилируется без ошибок, значит, она написана принципиально неправильно.
Ответить с цитированием