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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 01.11.2016, 20:21   #21
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Код:
...
    FAudioCaptureFilter:  IBaseFilter;
    Renderer:             IBaseFilter; //  Добавляем интерфейсный для рендера
    FVideoRect:           TRect;

...
if Listbox1.ItemIndex>=0 then
           begin
              MArray1[Listbox1.ItemIndex].BindToObject(NIL, NIL, IID_IBaseFilter, FVideoCaptureFilter);
              FGraphBuilder.AddFilter(FVideoCaptureFilter, 'VideoCaptureFilter');
           end;
if Listbox2.ItemIndex>=0 then
           begin
              MArray2[Listbox2.ItemIndex].BindToObject(NIL, NIL, IID_IBaseFilter, FAudioCaptureFilter);
              FGraphBuilder.AddFilter(FAudioCaptureFilter, 'AudioCaptureFilter');        Result:=FCaptureGraphBuilder.RenderStream(@PIN_CATEGORY_PREVIEW, @MEDIATYPE_Audio,
              FAudioCaptureFilter, NIL, NIL);
              if FAILED(Result) then EXIT;
           end;

{ Создаем рендер с микшером и добавляем в граф}
//--- VMR
  if failed(CoCreateInstance(CLSID_VideoMixingRenderer,
            nil, CLSCTX_INPROC_SERVER,
            IID_IBaseFilter, Renderer)) then exit;
  FGraphBuilder.AddFilter(Renderer, 'VideoRenderer');
  if failed(Renderer.QueryInterface(IID_IVMRFilterConfig,
            pConfig)) then exit;
  pConfig.SetNumberOfStreams(1);
  if failed(Renderer.QueryInterface(IID_IVMRMixerBitmap,
            pBitmap)) then exit;

Result:=FCaptureGraphBuilder.RenderStream(@PIN_CATEGORY_PREVIEW, @MEDIATYPE_Video, FVideoCaptureFilter, NIL, Renderer); // Собственно добавление
if FAILED(Result) then EXIT;
Result:=FGraphBuilder.QueryInterface(IID_IVideoWindow, FVideoWindow);
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 01.11.2016, 20:24   #22
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

Только почему-то на виртуалке микшер не заработал. Надо будет посмотреть что ему не хватает или нужно.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 02.11.2016, 01:38   #23
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

Pavia Спасибо большое
alman12 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Наложения текстур (OpenGl C++) MHZ-MHZ Общие вопросы C/C++ 0 08.02.2016 23:06
как кинуть потоковое видео с вебкамер deniscatch Свободное общение 4 07.12.2013 12:55
Пробелма наложения background NidHelp HTML и CSS 8 24.09.2011 21:25
Наложения объектов в C++ fmx999 Общие вопросы C/C++ 3 01.04.2010 17:39
''Слои'' наложения изображений. Alex Cones Мультимедиа в Delphi 3 11.04.2009 17:03