Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];

Вниз

Проблема с видеозахватом...   Найти похожие ветки 

 
Submarine   (2004-09-24 09:33) [0]

Привет всем. Суть проблемы необходимо сделать видеозахват с камеры (неважно какой).Тут везде рекомендуют пакет DSPak, скачал, но проблема при установке не создается файл DirectX9_D7.bpl.
При использовании др. проги (ниже ее код) пишет что данное устройство уже занято. Подскажите плиз решение проблемы, или скинте файлик DirectX9_D7.bpl(или DirectX9_D5.bpl ) на мыло
OpenVideo: TButton;
   Panel1: TPanel;
   CloseVideo: TButton;
   GrabFrame: TButton;
   SaveBMP: TButton;
   StartAVI: TButton;
   StopAVI: TButton;
   OpenDialog1: TOpenDialog;
   SaveDialog1: TSaveDialog;
   procedure FormCreate(Sender: TObject);
   procedure OpenVideoClick(Sender: TObject);
   procedure CloseVideoClick(Sender: TObject);
   procedure GrabFrameClick(Sender: TObject);
   procedure SaveBMPClick(Sender: TObject);
   procedure StartAVIClick(Sender: TObject);
   procedure StopAVIClick(Sender: TObject);

 private
   { Private declarations }
    hWndC : THandle;
   CapturingAVI : bool;
 public
   { Public declarations }
 end;
var
 Form1: TForm1;
implementation
  const WM_CAP_START                  = WM_USER;
  const WM_CAP_STOP                   = WM_CAP_START + 68;
  const WM_CAP_DRIVER_CONNECT         = WM_CAP_START + 10;
  const WM_CAP_DRIVER_DISCONNECT      = WM_CAP_START + 11;
   const WM_CAP_SAVEDIB                = WM_CAP_START + 25;
    const WM_CAP_GRAB_FRAME             = WM_CAP_START + 60;
   const WM_CAP_SEQUENCE               = WM_CAP_START + 62;
   const WM_CAP_FILE_SET_CAPTURE_FILEA = WM_CAP_START +  20;

{$R *.dfm}
function capCreateCaptureWindowA(lpszWindowName : PCHAR;
                                dwStyle : longint;
                                x : integer;
                                y : integer;
                                nWidth : integer;
                                nHeight : integer;
                                ParentWin  : HWND;
                                nId : integer): HWND;
                                STDCALL EXTERNAL "AVICAP32.DLL";
procedure TForm1.FormCreate(Sender: TObject);
begin
  CapturingAVI := false;
 hWndC := 0;
 SaveDialog1.Options :=
   [ofHideReadOnly, ofNoChangeDir, ofPathMustExist]
end;
procedure TForm1.OpenVideoClick(Sender: TObject);
begin
 hWndC := capCreateCaptureWindowA("My Own Capture Window",
                                  WS_CHILD or WS_VISIBLE ,
                                  Panel1.Left,
                                  Panel1.Top,
                                  Panel1.Width,
                                  Panel1.Height,
                                  Form1.Handle,
                                  0);
//  if hWndC <> 0 then
//    SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0);
end;
procedure TForm1.CloseVideoClick(Sender: TObject);
begin
if hWndC <> 0 then begin
   SendMessage(hWndC, WM_CAP_DRIVER_DISCONNECT, 0, 0);
  hWndC := 0;
 end;
end;
procedure TForm1.GrabFrameClick(Sender: TObject);
begin
if hWndC <> 0 then
   SendMessage(hWndC, WM_CAP_GRAB_FRAME, 0, 0);
end;
procedure TForm1.SaveBMPClick(Sender: TObject);
begin
if hWndC <> 0 then begin
   SaveDialog1.DefaultExt := "bmp";
   SaveDialog1.Filter := "Bitmap files (*.bmp)|*.bmp";
   if SaveDialog1.Execute then
     SendMessage(hWndC,
                 WM_CAP_SAVEDIB,
                 0,
                 longint(pchar(SaveDialog1.FileName)));
 end;
end;
procedure TForm1.StartAVIClick(Sender: TObject);
begin
 if hWndC <> 0 then begin
   SaveDialog1.DefaultExt := "avi";
   SaveDialog1.Filter := "AVI files (*.avi)|*.avi";
   if SaveDialog1.Execute then begin
      CapturingAVI := true;
      SendMessage(hWndC,
                  WM_CAP_FILE_SET_CAPTURE_FILEA,
                  0,
                  Longint(pchar(SaveDialog1.FileName)));
      SendMessage(hWndC, WM_CAP_SEQUENCE, 0, 0);
   end;
 end;
end;
procedure TForm1.StopAVIClick(Sender: TObject);
begin
if hWndC <> 0 then begin
   SendMessage(hWndC, WM_CAP_STOP, 0, 0);
   CapturingAVI := false;
 end;


 
Ozone ©   (2004-09-24 10:50) [1]

В какой момент говорит? Когда окно создаешь?


 
Submarine   (2004-09-24 12:16) [2]

Когда открываю видео, т.е. запуск процедуры
procedure TForm1.OpenVideoClick(Sender: TObject);
begin
hWndC := capCreateCaptureWindowA("My Own Capture Window",
                                 WS_CHILD or WS_VISIBLE ,
                                 Panel1.Left,
                                 Panel1.Top,
                                 Panel1.Width,
                                 Panel1.Height,
                                 Form1.Handle,
                                 0);
if hWndC <> 0 then
   SendMessage(hWndC, WM_CAP_DRIVER_CONNECT, 0, 0);
end;


 
WondeRu ©   (2004-09-24 17:03) [3]

Submarine   (24.09.04 9:33)
но проблема при установке не создается файл DirectX9_D7.bpl.

криво ставишь!
Delphi 5,6 & 7

1 - Add this paths to your search directory:
      - (DSPackDir)\src\Directx9
      - (DSPackDir)\src\DSPack

2 - Compile DirectX 9 Package (DirectX9_Dx.dpk) from the "packages" directtory.

3 - Compile DSPack Package (DSPack_Dx.dpk) from the "packages" directory.

4- Install Design Package (DSPackDesign_Dx.dpk) from the "packages" directory.


все по-русски ж написано!
сначала копируй все содержимое архива DSPack в любую папку, лучше в <Delphi>\Lib\DSPack потом

1. меню Tools/environment options//library //library path - здесь добавляешь указанные пути!
2. жмем Open потом выбираем DirectX9_D7.dpk, жмем Compile
3.жмем Open потом выбираем  DSPack_D7.dpk, жмем Compile
4.жмем Open потом выбираем  DSPackDesign_D7.dpk, жмем Compile потом Install

все...


 
Submarine   (2004-09-27 08:32) [4]

Да ты прав WondeRu ©   криво ставил, но не в этом дело, разобрался уже. На самом деле все проги работают и та, что привел код и с помощью DSPak. Проблема была с устройством видеозахвата Pinecle.

Ну все тему можно закрыть..



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

Форум: "Media";
Текущий архив: 2004.12.26;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.04 c
14-1102317352
PRM
2004-12-06 10:15
2004.12.26
Чем занимаются программисты после работы


14-1102606894
Alekc
2004-12-09 18:41
2004.12.26
Описание .net


14-1102320197
clickmaker
2004-12-06 11:03
2004.12.26
Логическая задачка для разминки мозгов в начале рабочей недели :)


14-1102562004
Думкин
2004-12-09 06:13
2004.12.26
С днем рождения! 9 декабря


6-1092001822
-=Iton=-
2004-08-09 01:50
2004.12.26
Firewall





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский