我使用了DirectShow的示例代码来录制视频。但是,我也希望在录制过程中显示视频。但我不能同时做到这一点,这个错误总是显示出来:
' Const VIDEODEVICE As Integer = 0
' zero based index of video capture device to use
Cursor.Current = Cursors.WaitCursor
If cam Is Nothing Then
cam = New AsfFilter.Capture(VIDEODEVICE, textBox1.Text)
previewCamera(PictureBox1) <----- this is my code regarding on previewing the video recording.
cam.Start()
button1.Text = "Stop"
textBox1.[ReadOnly] = True
Else
button1.Text = "Start"
textBox1.[ReadOnly] = False
' Pause the recording
cam.Pause()
' Close it down
cam.Dispose()
cam = Nothing
End If
Cursor.Current = Cursors.[Default]
错误:
没有足够的系统资源来完成所请求的服务。 (HRESULT异常:0x800705AA)
我做错了什么?有人知道吗?
答案 0 :(得分:0)
0x800705AA
:ERROR_NO_SYSTEM_RESOURCES
"Insufficient system resources exist to complete the requested service."
以下是您需要了解的内容:视频捕获设备是独占的访问资源。您使用它一次,您不能在另一个过滤器图表上再次同时使用它(即,一个图表用于记录,另一个图表用于监控)。您必须使用单个过滤器图来承载视频捕获。从那里,您可以使用Smart Tee Filter,或Infinite Pin Tee Filter复制录制和监听腿上的视频。或者,也可以使用multigraph solution在单个图表上进行静态视频捕获。