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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2011, 19:33   #1
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию AVICAP32, перечисление устройств, почему не определяется видеокамера?

камера Eye 110, в принципе так же должен определяться тюнер.
делал по примеру:
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx

Код:
function capGetDriverDescriptionW(wDriverIndex:WORD;
  lpszName:PChar;
  cbName:Integer;
  lpszVer:PChar;
  cbVer:Integer):BOOL;
  stdcall external 'AVICAP32.DLL';

procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
    n,v:string;
begin
  hWndC := 0;
  for i := 0 to 9 do
    begin
     SetLength(n,255);
     SetLength(v,255);
     if capGetDriverDescriptionW(i,@n[1],Length(n),@v[1],Length(v))
      then begin
            SetLength(n,lstrlen(@n[1]));
            SetLength(v,lstrlen(@v[1]));
            Listbox1.Items.Add(n+':'+v);
           end
      else ListBox1.Items.Add('');
    end;
 Button2.Enabled:=false;
end;
но листбокс пуст, так же банально по индексам прогонялся, все равно ничего не получаю.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 28.10.2011, 21:10   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

D7
Код:
function capGetDriverDescriptionA(wDriverIndex:WORD;
  lpszName:PChar;
  cbName:Integer;
  lpszVer:PChar;
  cbVer:Integer):BOOL;
  stdcall external 'AVICAP32.DLL';

procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
    Name,Ver: array[0..255] of Char;
begin
  for i := 0 to 9 do
    if capGetDriverDescriptionA(i,@Name[0],256,@Ver[0],256)
      then Listbox1.Items.Add(String(Name)+':'+String(Ver))
      else Listbox1.Items.Add('');
end;
-- Получил (для i=0): Microsoft WDM Image Capture (Win32):Version: 6.1.7601.17514
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 28.10.2011, 21:25   #3
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

да тут наверно вопрос не по коду, я и в плюсах пробовал(там от СДК хидер) тот жже результат.
да и в Делфи когда проверял, то ветка true не наступает вообще...

в чем дело то может быть?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.10.2011, 00:44   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

А драйвер установлен? Функция не для определения устройства, а для определения имени и версии драйвера
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.10.2011, 11:38   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а что надо установить то?
на камеру стоят дрова, на тюнер тоже(но он сложное устройство(три видеовхода) и может в этом дело).

или какой еще есть метод для работы с камерой?(мне банально кадр получить, но перечисление желательно так же)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.10.2011, 16:20   #6
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Скорее всего, если по всем индексам False, то отсутствуют драйвера устройств, которые могут захватывать видео.

add

Гугл "захват видео с вебкамеры" полно примеров
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 29.10.2011 в 16:29.
Аватар вне форума Ответить с цитированием
Старый 29.10.2011, 16:22   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

скорее уж драйвера совместимые с AVICAP32.

ну тогда как иначе получить картинку с камеры?(именно картинку, видео сейчас не очень то нужно)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 29.10.2011, 16:57   #8
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Думаю при помощи этого:
http://msdn.microsoft.com/en-us/libr...(v=VS.85).aspx
и
http://msdn.microsoft.com/en-us/libr...(v=VS.85).aspx

Ну или взглянуть на то, как это делают другие:
http://sourceforge.net/projects/videocat/
http://sourceforge.net/projects/videomonitor/

Последний раз редактировалось Человек_Борща; 29.10.2011 в 17:01.
Человек_Борща вне форума Ответить с цитированием
Старый 29.10.2011, 17:02   #9
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

DSPack не пробовали?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 29.10.2011, 17:10   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Человек_Борща, первое это и есть та самая AVICAP32, она старая как я выяснил, потому со многими устройствами уже не работает.

насчет DSPack, гляну.

так-с, на XE не удается поставить, требует уже скомпиленный DSUtil(или DSXUtil)...
как то нелогично..
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.

Последний раз редактировалось Пепел Феникса; 29.10.2011 в 19:09.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перечисление внутри структуры Form_13 Помощь студентам 6 02.08.2011 13:38
использование avicap32.dll kuno Общие вопросы C/C++ 1 01.10.2010 15:53
Перечисление юзеров doniyor Работа с сетью в Delphi 5 24.01.2010 23:24
Почему не определяется конец файла? nazavrik Общие вопросы C/C++ 3 17.06.2009 20:53
Перечисление компонентов Zeraim Свободное общение 5 30.11.2008 20:20