Форум: "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.032 c