Вниз
Скачать: CL | DM;

AVI DirectDraw, DirectShow ... Как?   Найти похожие ветки 

← →
Wm.DIGGER ©   (2005-06-14 17:50) [0]

Проблемка, как воспроизвести звук из AVI"шки ... Видео воспроизводится, как показано ниже. Как воспроизводить звук? Т.Е. нужно взять поток со звуком, а дальше что с ним делать ... ?


var IStep,AVIError,GetFrameNumber,i,j:Integer;
   AVIFile:PAVIFile;
   AVIInfo:PAVIFileInfo;
   AVIStream:PAVIStream;
   GetF:PGetFrame;
   BitMapHInfo:PBitMapInfoHeader;
   AVIFileName:string;
   TBmp:TBitMap;
   Bits:PChar;
   DC_Handle:HDC;

begin
AVIFileName := "fn.avi";

AVIFileInit;
AVIError := AVIFileOpen(AVIFile,PChar(AVIFileName),0,nil);
if AVIError = AVIERR_OK then
  begin
   AVIFileInfo(AVIFile,AVIInfo,SizeOf(AVIInfo));
   if AVIFileGetStream(AVIFile,AVIStream,StreamTypeVIDEO,0) = AVIERR_OK then
     begin
      GetF := AVIStreamGetFrameOpen(AVIStream,nil);
      if GetF <> nil then
        begin

         for GetFrameNumber := 0 to 99 do
          begin

           BitMapHInfo := AVIStreamGetFrame(GetF,GetFrameNumber);
           if BitMapHInfo <> nil then
             begin
              TBmp := TBitMap.Create;
              TBmp.Width := BitMapHInfo.biWidth;
              TBmp.Height := BitMapHInfo.biHeight;
              Bits := Pointer(Integer(BitMapHInfo) + SizeOf(TBitMapInfoHeader));
              DC_Handle := CreateDC("Display",nil,nil,nil);
              TBmp.Handle := CreateDIBitmap(DC_Handle,BitMapHInfo^,CBM_INIT,Bits,PBitMapInfo(BitMapHInfo)^,DIB_RGB_COLORS);
              DeleteDC(DC_Handle);
              TBmp.Free;
             end;

           end;
         AVIStreamGetFrameClose(GetF);
        end;
      AVIStreamRelease(AVIStream);
     end;
   AVIFileRelease(AVIFile);
  end else ShowMessage("Error:)");
AVIFileExit;
end;


← →
Nic   (2005-06-14 18:53) [1]

Мне тоже очень интересно, как это сделать. Кто-нибудь, подскжите!


← →
Анонимщик1   (2005-06-15 13:15) [2]

Ты же работаешь через VfW, а не через собственно DirectShow. Так что я не понял чего тебе нужно.


← →
Ozone ©   (2005-06-22 06:45) [3]

Как вариант скопировать весь аудио-поток в PAVIStream, сохранить во временный WAV и проиграть... опять-таки будут проблемы с синзронизацией с видео... :)


← →
Fredy314 ©   (2005-06-27 22:07) [4]

По идее нужно направить аудиопоток на звуковуху только как я не знаю, гдето видел но давно-давно.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
9-1119728488
Ford
2005-06-25 23:41
2005.11.13
Блеск авто


1-1129742445
555
2005-10-19 21:20
2005.11.13
Перехват прокручивания скролла мыши.


8-1119478025
Strech
2005-06-23 02:07
2005.11.13
масштабирование изображений


3-1128090576
Int64
2005-09-30 18:29
2005.11.13
Версия ADO в MDAC 2.8


3-1128329817
Ярослав
2005-10-03 12:56
2005.11.13
Как правильно организовать частые добавления в БД




   Наверх