Фильтр перекладины меняет текущий вход на композитный

Я новичок в DirectShow. Я пишу приложение в C# для захвата с аналоговой карты захвата. У меня есть аналоговая карта захвата, и я хочу узнать, как изменить свойство фильтра аналоговых перекрестных полос с "0: вход аналогового тюнера" на "1: вход композитного видео". Вот мой график фильтра

FilterGraph

Я не могу подключить тюнер "Analog Video pin" к "Video Composite In" фильтра Crossbar. Я попытался запустить метод "Маршрут" фильтра IAMCrossbar, но не удалось. Я не знаю, правильный ли мой путь. Пожалуйста, руководство...

1 ответ

Решение

IAMCrossbar::Route как ты это делаешь Обязательно ознакомьтесь с разделом Работа с перекладинами - это API C++, но я полагаю, что вы используете DirectShow.NET и у него есть похожие методы.

Фрагмент кода решения взят из комментария ниже:

IAMCrossbar Xbar = (IAMCrossbar)pNM8001AnalogXbar; 
//hr = Xbar.CanRoute(1, 0); 
hr = Xbar.Route(1, 0); 
checkHR(hr, "Some NM8001AnalogXbar Problem"); //CONNECT NM8001 Analog TUNER and NM8001 Analog XBAR 
hr = pGraph.ConnectDirect(
  GetPin(pNM8001AnalogTuner, "Analog Video"), 
  GetPin(pNM8001AnalogXbar, "0: Video Tuner In"), 
  null); 
checkHR(hr, "Can't Connect NM8001AnalogTuner and NM8001AnalogXbar");
Другие вопросы по тегам