입니다. 우리는 비디오 캡처 카드에서 캡처 한 입력 비디오 소스를 미리보고 기록하는 소프트웨어를 개발하고 있습니다. 미리보기는 DirectShow와 Media Foundation (이전의 소프트웨어는 MediaFoundation으로 천천히 업그레이드)의 레코딩으로 구현됩니다.MediaFoundation에서 비디오 캡처 에뮬레이터 드라이버를 찾을 수 없습니다. 그러나 DirectShow는
문제는 MediaFoundation에서 발생합니다. 릴리스 시스템에서 비디오 캡처 카드를 올바르게 찾은 것 같지만 우리가 테스트 머신에서 사용하는 "스크린 캡쳐"비디오 에뮬레이터가 아닙니다. 한편, DirectShow 코드는 비디오 캡처 장치와 화면 캡처 장치 에뮬레이터를 모두 정확하게 찾습니다.
왜 MediaFoundation에서 에뮬레이터 드라이버를 찾을 수 없습니까?
참고 : 에뮬레이터는 DirectShow의 만든 ... 그것은 여기 VHScrCap
인 미디어 파운데이션 코드 :
HRESULT DeviceList::EnumerateVideoDevices(){
HRESULT hr = S_OK;
IMFAttributes *pAttributes = NULL;
ClearVideo();
// Initialize an attribute store. We will use this to
// specify the enumeration parameters.
hr = MFCreateAttributes(&pAttributes, 1);
// Ask for source type = video capture devices
if (SUCCEEDED(hr))
{
hr = pAttributes->SetGUID(
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE,
MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_GUID
);
}
// Enumerate devices.
if (SUCCEEDED(hr))
{
hr = MFEnumDeviceSources(pAttributes, &m_ppVideoDevices, &m_cVideoDevices);
}
SafeRelease(&pAttributes);
return hr;
}
hr = MFEnumDeviceSources(pAttributes, &m_ppVideoDevices, &m_cVideoDevices);
에 어떤 장치가 발견되지 않습니다.
감사합니다.
+1 감사의 많은, 미디어 파운데이션 입력 에뮬레이터를 찾을 수있는 사람에게 P! 난 그냥 DirectShow를 만들어 일부를 찾을 수 있습니다. – MorgoZ