Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.01.2012, 12:18   #1
hiho
Форумчанин
 
Регистрация: 29.04.2008
Сообщений: 100
По умолчанию опять Web-камера

Написал простенький код, для вывода изображения с камеры:
Код:
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.Button1Click(Sender: TObject);
begin
Wnd := capCreateCaptureWindowA('hiho',
WS_CHILD or WS_VISIBLE ,
0,
0,
Panel1.Width,
Panel1.Height,
Panel1.Handle,
0);
if Wnd <> 0 then
    SendMessage(Wnd, WM_CAP_DRIVER_CONNECT, 0, 0);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if Wnd <> 0 then SendMessage(Wnd, WM_CAP_GRAB_FRAME, 0, 0);
end;
В итоге камера включатся, но кроме картины Малевича ничего не происходит, хотя все SendMessage возвращают > 0. В связи этим прошу, если у кого есть возможность потестируйте этот код. Или выложите простенький каркас заведомо работающего приложения.
PS. с компонентами все работает, но хотелось бы использовать только АПИ
hiho вне форума Ответить с цитированием
Старый 02.01.2012, 12:53   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это устаревшее АПИ, лучше применить DirectShow.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.01.2012, 13:05   #3
hiho
Форумчанин
 
Регистрация: 29.04.2008
Сообщений: 100
По умолчанию

Это верно. Компонентами работать куда проще, взять бы хотя бы тот же DSPack или TVideoGrubber. Но это все уже изобретенные велосипеды, да и портировать на другие языки не получится. Поэтому и прошу работу с АПИ VFW. Или хотя бы примерчик работы напрямую с DirectShow.
hiho вне форума Ответить с цитированием
Старый 02.01.2012, 13:15   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

причем тут компоненты к DirectShow?
Цитата:
Поэтому и прошу работу с АПИ VFW.
да древний он, у меня ни камера ни тюнер не поддерживают это апи.

вот вам:
http://coder-blog.ru/?p=396
там рабочее, я проверял.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Web камера и capCreateCaptureWindow TEHb Общие вопросы Delphi 4 21.07.2013 13:05
Web камера TacoBell Общие вопросы C/C++ 8 01.10.2010 17:59
Web камера mas96 Компьютерное железо 2 24.09.2010 15:38
Web-программирование и web-камера Виталий Желтяков PHP 1 30.08.2010 01:45