Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Работа с видеокамерой


Ketrikken ©   (2006-09-06 15:13:00) 

Здравствуйте!
Я работаю с видео, используя winapi функции для захвата видео.
Можно ли сделать так, чтобы программа искала установленные драйвера (или подсоединенные устройства) web камер и захватывала видео с выбранной и как это можно реализовать средствами Delphi? Я поначалу наивно полагала, что за это отвечает функция capDriverConnect...
Заранее благодарна!!!


Ketrikken   (2006-09-06 17:49:00) [1]

Спасибо ;) Будем мучаться


Джо   (2006-09-06 17:25:00) [2]

> [6] Ketrikken   (06.09.06 17:15)

ИМХО, узнать, включена ли камера, нельзя. Ну, то есть, до того, как попытаться получить с нее изображение. Наверное, нужно просто анализировать коды возврата при получении изображения. И при capCreateCaptureWindowA.


Ketrikken   (2006-09-06 17:15:00) [3]

Это я уже делала, это оказались системные драйвера для работы с видео.
Вот допустим, я повтыкала в usb порты несколько камер, и мне надо, чтобы можно было выбрать с какой камеры я буду считывать видео. Там либо поиск по установленным драйверам этих камер, либо по включенным камерам. Нигде не могу найти, как это делается.


Джо   (2006-09-06 16:45:00) [4]

Да там очень просто, хоть интерфейс VFW довольно убог (или именно поэтому).

Всего доступно может быть только 10 драйверов. Перебер осуществляется просто, вот таким, например, макаром, можно получить список этих самых драйверов:

function ListDrivers (Strings: TStrings): Integer;
var
 I: Integer;
 AName,
 ADescription: array [0..80] of Char;
begin
 Strings.Clear;
 Result := 0;
 for I := 0 to 9 do
 begin
   if capGetDriverDescriptionA(I,AName,80,ADescription,80) then
   begin
     Strings.Add(AName);
     Inc(Result)
   end;
 end;
   
end;


Функция capGetDriverDescriptionA импортируется следующим образом:
function capGetDriverDescriptionA (wDriverIndex: UINT; Name: PChar; cbName: Integer;  Ver: PChar; cbVer: Integer): BOOL; stdcall; external 'avicap32.dll';
(не Unicode version).

Если чего не ясно, спрашивай :)


Ketrikken   (2006-09-06 16:30:00) [5]

Буду очень признательна...


Джо   (2006-09-06 16:24:00) [6]

> [2] Ketrikken   (06.09.06 16:17)
> VFW

Поищу, когда-то делал.


Ketrikken   (2006-09-06 16:17:00) [7]

VFW


Джо   (2006-09-06 15:16:00) [8]

А через какой интерфейс работаем? VFW (Video for Windows) или еще чего?


Наверх

Титульная страница Поиск, карта сайта Написать письмо