デスクトップのスクリーンショットを撮ろうとすると、Windows Media Player ウィンドウの領域が空で、何も表示されないことがわかりました。しばらくの間、Google で検索したところ、ほとんどのビデオ プレーヤー ユーザーがパフォーマンスのためにオーバーレイ サーフェスを使用し、オーバーレイ サーフェスを使用していることがわかりました。キャプチャできないので、DDraw アクセラレーションを無効にして、ライブ ビデオから静止画像を取得できるようにするというアイデアが出てきますが、プレーヤーが起動されたとき、ハードウェア アクセラレーションを無効にしても、プレーヤーは既にハードウェア アクセラレーションを使用しています。プレーヤーを再起動するまで有効になりません。私の質問は、ddraw アクセラレーションを無効にせずにライブ ビデオから画像をキャプチャする方法です。または、ビデオプレーヤーを再起動せずに設定(ハードウェアアクセラレーションを無効にする)を機能させる方法は?
- 自分のプログラムで vedio を再生しません。Windows Media Player や Real Player などのサードパーティ プレーヤーで再生している間に静止画像を撮りたいだけです...
- C/C++ や DirectX などのプログラムでこれを行いたいので、既存のソフトウェアやツールを使用したくありません。
- 使用中のプレーヤーに関係なく、私のプログラムはそれをキャプチャする必要があります。CapTrueやTencent qqのようなツールでこれを実行できることを知っているので、それは可能だと思います。