Фильтр перекладины меняет текущий вход на композитный
Я новичок в DirectShow. Я пишу приложение в C# для захвата с аналоговой карты захвата. У меня есть аналоговая карта захвата, и я хочу узнать, как изменить свойство фильтра аналоговых перекрестных полос с "0: вход аналогового тюнера" на "1: вход композитного видео". Вот мой график фильтра
Я не могу подключить тюнер "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");