У меня есть простой код для захвата видео с веб-камеры и сохранения его в файле, но он ничего не делает и не дает мне никакой ошибки. Я использую WPFMediaKit, и это мой код
IFilterGraph2 filterGraph;
ICaptureGraphBuilder2 captureGraphBuilder;
IBaseFilter captureDeviceFilter;
DsDevice currentDevice;
private void InitInterfaces(DsDevice device)
{
int hr;
filterGraph = new FilterGraph() as IFilterGraph2;
captureGraphBuilder = new CaptureGraphBuilder2() as ICaptureGraphBuilder2;
hr = captureGraphBuilder.SetFiltergraph(filterGraph);
DsError.ThrowExceptionForHR(hr);
currentDevice = DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice)[0];
currentDevice = device;
hr = filterGraph.AddSourceFilterForMoniker(currentDevice.Mon, null, currentDevice.Name, out captureDeviceFilter);
DsError.ThrowExceptionForHR(hr);
IFileSinkFilter sink;
IBaseFilter mux;
hr = captureGraphBuilder.SetOutputFileName(MediaSubType.Avi, @"ss.avi", out mux, out sink);
DsError.ThrowExceptionForHR(hr);
hr = captureGraphBuilder.RenderStream(PinCategory.Capture, MediaType.Video, captureDeviceFilter, null, mux);
DsError.ThrowExceptionForHR(hr);
hr = captureGraphBuilder.RenderStream(PinCategory.Preview, MediaType.Video, captureDeviceFilter, null, null);
DsError.ThrowExceptionForHR(hr);
}
и звоню вот так
DsDevice[] devices = DsDevice.GetDevicesOfCat(FilterCategory.VideoInputDevice);
DsDevice device = devices[0] as DsDevice;
videoCaptureElement.VideoCaptureDevice = device ;
InitInterfaces(device);
videoCaptureElement.Play();
когда я запускаю приложение, оно должно было начать запись, но я ничего не понимаю, что не так в моем коде и как это исправить, спасибо