原版WPF MediaKit在捕獲攝像頭視頻時,如果不使用640*480分分辨率輸出,會出現NewVideoSample事件不被觸發的問題。
經數日摸索,終於明白SetVideoCaptureParameters(graphBuilder, m_captureDevice, Guid.Empty);這行代碼存在問題。使用默認的壓縮類型可能因數據量過大而傳輸速度跟不上,經果就是ISampleGrabber丟棄回調。
對症下葯,換成 SetVideoCaptureParameters(graphBuilder, m_captureDevice, MediaSubType.MJPG); // Change default compression to MJPG.
立馬解決問題!
WPF MediaKit真的不錯,困擾許久的視頻問題有辦法了。
