人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Windows7のVB.NET2008、WebカメラはLogicoolのQcamで質問です。

VisualBasicからWebカメラの撮影を行いたいと考えています。
検索してみるとこのような時はDirectShowを使うようなので、たとえば以下のサイトを参考にしてみました。

How to capture a single frame from the video stream?
http://forum.codecall.net/visual-basic-programming/26242-how-capture-single-frame-video-stream.html

しかし、FindCaptureDevice()のmoniker(0).BindToObject(Nothing, Nothing, iid, source)内で"指定されたキャストは有効ではありません。"という例外が発生します。
他のサンプルコードを参考にした場合でも大体同じ個所で例外が発生する為、進まずに困っています。

考えられる対処案について詳しい方、宜しくお願い致します。

●質問者: くじぇ
●カテゴリ:コンピュータ
✍キーワード:Logicool nothing Stream VB.NET VisualBasic
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● 勇者よっしー
●35ポイント

ちゃんとPlatformSDKはインストールしていますか?

あと、フィルタは何を使ってますか?

◎質問者からの返答

yossiy7さんありがとうございます。

1.PlatformSDKについて

下記のページによる解説ですと、VisualStudio2008ではPlatformSDKでなく、Windows SDKの6.0Aのサブセットで何とかするそうです。

http://social.msdn.microsoft.com/Forums/ja-JP/vcgeneralja/thread...

VS2008インストールでVC/PlatformSDKが存在しない

Windows SDKの6.0Aは、C:\Program Files\Microsoft SDKs\Windows\v6.0Aに入っていました。

2.フィルタは何を使ってますか?

いま実装しようとしている処理は、キャプチャデバイスをソースフィルタに対応づける部分と考えているので、答えは「ソースフィルタ」となるのでしょうか?


2 ● 勇者よっしー
●35ポイント

PlatformSDKのソースをコンパイルする事で作成されるリンクライブラリはリンク済みでしょうか?

◎質問者からの返答

yossiy7さんありがとうございます。

先述の通り、私が扱っているのはVisualStudio2008ですので、Windows SDKの6.0Aのサブセットを使用することになります。

リンクライブラリは、VB.NETでは、参照を指摘して頂いていると思うのですが、何を追加すればよいのでしょうか?

自分なりに検索してみましたが、わかりませんでした。

なお、現在参照しているのは以下の通りです。

DirectShowLib-2005

DShowNET

Microsoft.DirectX.AudioVideoPlayback

[デフォルト]System

[デフォルト]System.Core

[デフォルト]System.Data

[デフォルト]System.Data.DataSetExtensions

[デフォルト]System.Deployment

[デフォルト]System.Drawing

[デフォルト]System.Windows.Forms

[デフォルト]System.Xml

[デフォルト]System.Xml.Linq

ちなみに、コメント欄にも記載しましたが、例外が発生する度に該当箇所を

http://www.geocities.co.jp/SiliconValley/7406/tips/dshow2005/dsh...

DirectShow関係3(VB2005)

この中の「3.2 サンプルグラバによる静止画取得」のソースコードへ置き換えていったら例外がおさまっています。

ただ、ソースコードが長くなり、且つこのソースが行っていることの意味がよくわからないという別の悩みが生まれています。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ