2011-04-05 7 views
1

웹캠으로 directshow.net을 사용 했으므로 잘 작동합니다. 그러나 양식을 닫고 다시 열면 다음 코드 줄에서 오는 값이 음수이므로이 메서드에서 오류가 발생합니다 (SetupGraph()). 내 카메라를 뽑았 때directshow를 사용하여 웹캠의 연결을 끊는 방법?

hr = capGraph.RenderStream(ref cat, ref med, capFilter, null, null);

하지만, 그것은 두 번째로 잘 작동합니다.

큰 문제가 아니기를 바랍니다.

+0

Stream을 닫는 방법은 없지만 SDK에 익숙하지 않은가요? – jp2code

답변

1

당신은 yourMediaControl.StopWhenReady() 메소드를 호출하려고 할 수 있습니다 출시 된 이후 같은 모든 COM 개체 인스턴스 , source, grabber, Marshal.ReleaseComObjectcapture graph.

다음 필터는 데이터 큐 있도록 필터 그래프를 일시 중지하고 IMediaControl.StopWhenReady 방법

는 필터 그래프 멈춘다.

중요한 것은 당신이 웹캠 비디오를 시작할 때마다 당신은이 모든 것을 할 필요가있다 :

  1. 이 스트림
  2. 렌더링 ... 그래프 빌더, 필터 그래프, 장치 개체, 그래버를 만들
  3. 실행 미디어 제어
  4. 사용자 신호가 동영상
  5. 정지 매체 제어 (StopWhenReady)
  6. ,369을 중지 할 때까지 대기
  7. 생성 된 객체를 해제/파괴
관련 문제