|
分類:[C#]
分類:[C#]
DirectShowを使ってusbカメラの制御をしています。 プレビューは正常にできたのですが、静止画を撮影しようとすると以下のエラーメッセージが出て失敗します。 海外の掲示板などを見てみたのですが、いまいち解決方法がわかりませんでした。 どのようにしたらいいのでしょうか? 環境はFrameWork1.1,VS.NET2002です。
エラーメッセージ↓
System.InvalidCastException: インターフェイス DShowNET.ISampleGrabber のQueryInterface に失敗しました。 at DShowNET.ISampleGrabber.GetCurrentBufffer(Int32& pBufferSize,IntPtr pBuffer) at DSCaptureer.DSCapture.StartGrabber()
ソースコード↓
try { IntPtr nilPtr = new IntPtr(0); int BufferLength=0; sampleGrabber.GetCurrentBuffer(ref BufferLength, IntPtr.Zero); frameArray = new Byte[BufferLength]; Marshal.StructureToPtr( frameArray, nilPtr, false); sampleGrabber.GetCurrentBuffer(ref BufferLength, nilPtr); this.ISampleGrabberCB_BufferCB(10, nilPtr, BufferLength); } catch(Exception e) { MessageBox.Show(e.ToString()); }
|