Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>OK,</p> <pre><code>public void CaptureVideo() { int hr = 0; IBaseFilter sourceFilter = null; IBaseFilter audiosourceFilter = null; IBaseFilter asfWriter = null; IFileSinkFilter pTmpSink = null; try { GetInterfaces(); hr = this.captureGraphBuilder.SetFiltergraph(this.graphBuilder); DsError.ThrowExceptionForHR(hr); sourceFilter = FindVideoCaptureDevice(); //return Video source filter audiosourceFilter = FindAudioCaptureDevice(); // return audio source filter // Add Video source filter hr = this.graphBuilder.AddFilter(sourceFilter, "Video Capture"); DsError.ThrowExceptionForHR(hr); // Add audio source filter hr = this.graphBuilder.AddFilter(audiosourceFilter,"Audio Capture"); DsError.ThrowExceptionForHR(hr); //set outputname "Test.avi" .avi type hr = this.captureGraphBuilder.SetOutputFileName(MediaSubType.Avi, "Test.avi", out asfWriter, out pTmpSink); DsError.ThrowExceptionForHR(hr); //render preview video on window form hr = this.captureGraphBuilder.RenderStream(PinCategory.Preview, MediaType.Video, sourceFilter, null, null); DsError.ThrowExceptionForHR(hr); //render Audio preview //hr = this.captureGraphBuilder.RenderStream(PinCategory.Preview, MediaType.Audio, audiosourceFilter, null, null); //DsError.ThrowExceptionForHR(hr); // Render Video to Test.avi hr = this.captureGraphBuilder.RenderStream(PinCategory.Capture, MediaType.Video, sourceFilter, null, asfWriter); Marshal.ThrowExceptionForHR(hr); // Render Audio into Test.avi hr = this.captureGraphBuilder.RenderStream(PinCategory.Capture, MediaType.Audio, audiosourceFilter, null, asfWriter); Marshal.ThrowExceptionForHR(hr); Marshal.ReleaseComObject(sourceFilter); Marshal.ReleaseComObject(audiosourceFilter); SetupVideoWindow(); rot = new DsROTEntry(this.graphBuilder); hr = this.mediaControl.Run(); DsError.ThrowExceptionForHR(hr); this.currentState = PlayState.Running; } catch { MessageBox.Show("An unrecoverable error has occurred."); } } </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload