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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.08.2014, 15:24   #31
Daemvil
Пользователь
 
Регистрация: 23.12.2009
Сообщений: 57
По умолчанию

текст примера на си полностью:
Код:
/* we use DCM310 to demonstrate how to use the *.h files */
#include "dcm310.h"

/* pSourceFilter: the source filter */
void DoMySettings(IBaseFilter* pSourceFilter)
{
	IDcm310* pIDcm310;
	HRESULT hr = pSourceFilter->QueryInterface(IID_IDcm310, (void**)&pIDcm310);
	if (SUCCEEDED(hr) && pIDcm310)
	{
		/* Now, we get the interface, so we can do anything we want to do */
		pIDcm310->put_WhiteBlack(TRUE);
		
		BYTE bGamma;
		pIDcm310->get_Gamma(&bGamma);
		bGamma += 10;
		pIDcm310->put_Gamma(bGamma);

		/* ...... */
		pIDcm310->Release();
	}
}
какие рамки накладывает фраза "pSourceFilter: the source filter"? фильтр, в котором вызываем интерфейс, должен быть источником? то есть сама камера? то есть в моем случае надо делать так? :
Код:
// объект для графа фильтров
  Result:=CoCreateInstance(CLSID_FilterGraph, NIL, CLSCTX_INPROC_SERVER,
                           IID_IGraphBuilder, FGraphBuilder);
  if FAILED(Result) then EXIT;
// объект для граббинга
  Result:=CoCreateInstance(CLSID_SampleGrabber, NIL, CLSCTX_INPROC_SERVER,
                               IID_IBaseFilter, FBaseFilter);
  if FAILED(Result) then EXIT;
// объект для графа захвата
  Result:=CoCreateInstance(CLSID_CaptureGraphBuilder2, NIL, CLSCTX_INPROC_SERVER,
                           IID_ICaptureGraphBuilder2, FCaptureGraphBuilder);
  if FAILED(Result) then EXIT;

// добавляем фильтр в граф
  Result:=FGraphBuilder.AddFilter(FBaseFilter, 'GRABBER');
  if FAILED(Result) then begin showmessage(inttostr(RESULT)); EXIT; end;
  Получаем интерфейс фильтра перехвата
  Result:=FBaseFilter.QueryInterface(IID_ISampleGrabber, FSampleGrabber);
  Result:=FBaseFilter.QueryInterface(IID_IDCM800, FDCM800);

  if FAILED(Result) then begin showmessage(inttostr(RESULT)); EXIT; end;
это правильно? Если да, то куда копать дальше?
Nostra Sunt
Daemvil вне форума Ответить с цитированием
Старый 15.08.2014, 15:33   #32
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
какие рамки накладывает фраза "pSourceFilter: the source filter"? фильтр, в котором вызываем интерфейс, должен быть источником? то есть сама камера? то есть в моем случае надо делать так? :
это просто комментарий к параметру, что этот параметр это исходный фильтр, то есть фильтр от которого берем что-то.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 19.08.2014, 09:51   #33
Daemvil
Пользователь
 
Регистрация: 23.12.2009
Сообщений: 57
По умолчанию

Разобрался. Надо было делать после VideoCaptureFilter:
Код:
FGraphBuilder.AddFilter(FVideoCaptureFilter, 'VideoCaptureFilter');
              Result:=FVideoCaptureFilter.QueryInterface(IID_IDCM800, FDCM800);//
              result:=FDCM800.get_StillSize(DcmSize);
              result:=FDCM800.put_StillSize(eDcm800Size_640_480);
Даже не полностью описанный интерфейс подключается и работает без проблем
Nostra Sunt
Daemvil вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Камера opengl 2d gufon Мультимедиа в Delphi 1 09.03.2012 16:42
Камера DirectX sfok3 Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 06.02.2012 21:05
Web камера TacoBell Общие вопросы C/C++ 8 01.10.2010 17:59
Web камера mas96 Компьютерное железо 2 24.09.2010 15:38
direct3d9. Камера. VC++. Crivel Gamedev - cоздание игр: Unity, OpenGL, DirectX 4 08.07.2010 16:36