0

我已經使用DirectShow的示例代碼來錄製視頻。不過,我也想在錄製過程中顯示視頻。但我不能在同一時間做,這個錯誤總是顯示:同時錄製和查看視頻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] 

錯誤:

Insufficient system resources exist to complete the requested service. (Exception from HRESULT: 0x800705AA)

我在做什麼錯?有人知道這個嗎?

回答

0

0x800705AAERROR_NO_SYSTEM_RESOURCES "Insufficient system resources exist to complete the requested service."

以下是你需要知道的事情:視頻採集設備是獨佔訪問的資源。您只使用一次,不能再同時在另一個過濾器圖形上使用它(即,一個圖形用於記錄,另一個用於監視)。您必須擁有單個過濾器圖表才能託管視頻捕獲。從那裏,您可以使用Smart Tee Filter或Infinite Pin Tee Filter複製記錄和監視雙腿上的視頻輸入。或者,也可以使用multigraph solution,並在單個圖形上進行靜態視頻捕獲。