動画をキャプチャーしたい。


yuu  2004-02-26 22:24:50  No: 112065  IP: [192.*.*.*]

WindowsMediaPlayer等で動画を再生している際に、PrintScrnボタンを押して画面コピーしても、真っ黒の画像が表示されてしまいます。

たぶん、オーバーレイが関係しているのかもしれませんが、
VBで一時的に、動画をキャプチャーすることは、できるのでしょうか。

編集    削除
岡田 之仁  2004-02-27 05:56:34  No: 112066  IP: [192.*.*.*]

要は、このようなソフトと同等のことがしたい・・・
と言うことだと思います。

http://homepage2.nifty.com/geekview/rmcapj/rmcapj.htm

多分、自分自身がプレイヤーにならないと不可能だと思います。
DirectXへの画面用メモリエリアをアプリ側で設定するか、取得
可能になりますので、そこから瞬間の画像を読み出すのだと思
いますが・・・

私はやったことがありませんが、このように可能ですのでが、
VBでとなると、なんとも・・・

参考までに。

以上。

編集    削除
Take1  2004-02-27 22:55:28  No: 112067  IP: [192.*.*.*]

VBでの方法ではないのですがXPでは(2000もかな?)DirectX診断ツール

C:\WINDOWS\system32\dxdiag.exe

を起動してディスプレイタブのDirectDrawを無効にすればできるとおもいます。


あとVBではCaptureWindowでできますので調べてみてください。
がんばってください。

編集    削除
yuu  2004-02-28 07:05:35  No: 112068  IP: [192.*.*.*]

大変ありがとうございます。
Captureするところまでは、できたのですが、
VB上から、何とか無効にできないでしょうか?

編集    削除
Take1  2004-02-28 07:33:38  No: 112069  IP: [192.*.*.*]

ん?
書き方が悪かったですね。ごめんなさい。

>DirectDrawを無効にすれば・・・

は、VBを使わずに

>PrintScrnボタンを押して画面コピー

する時のことです。
CaptureWindowというAPIをつかえば無効にしなくてもできますよ。
手順としては、たとえばForm1にWindowsMediaPlayerコントロール
を実装して、フォームいっぱいに表示するように設定して
Form2からファイルを指定して再生したり・・・
そして、キャプチャーボタンを押せばForm1のデバイスコンテキスト
(Form1.hDC)を指定してキャプチャー・・・。
みたいな感じかなぁ。

よけいわかりにくかったりして・・。

編集    削除
yuu  2004-02-29 23:09:02  No: 112070  IP: [192.*.*.*]

>DirectDrawを無効にすれば・・・
これは、VBでは、できないのですね。

いろいろ教えていただきありがとうございます。

編集    削除