再生中のフレームを静止画で保存するには?


dosa  2008-02-13 01:36:01  No: 29795

http://kwikwi.cocolog-nifty.com/blog/2006/07/simple_media_pl.html
上記のプレイヤーに再生中のフレームを静止画で保存するという機能があるのですが、deiphiのコンポーネントのTMediaPlayerにも同じ機能を持たせることが可能なんでしょうか??
初心者ですが、どうか教えていただけないでしょうか?お願いします。


dosa  2008-02-13 02:05:21  No: 29796

追記です。

procedure TSubPage.Button1Click(Sender: TObject);
var
  DC:HDC;
  BM:TBitmap;
begin
  DC :=GetDC(MainPage.MediaPlayer1.Handle);
   try
     BM :=TBitmap.Create;
     try
       BM.Width :=Screen.Width;
       BM.Height :=Screen.Height;
       Bitblt(BM.Canvas.Handle, 0, 0, BM.Width, BM.Height, DC, 0, 0, SRCCOPY);
       Image1.Picture.Bitmap.Assign(BM);
     finally
      BM.Free;
     end;
  finally
   ReleaseDC(0,DC); 
  end;
end;

一応今の段階で、上記のソースでスクリーンキャプチャしているのですが、MediaPlayer1上に別のウィンドウが載ってしまうとそのウィンドウまでキャプチャしてしまうので、ウィンドウが載ってしまってもMediaPlayer1のみキャプチャする方法はないでしょうか??
長々失礼します。


mook  2008-02-13 08:03:25  No: 29797

以前にも似たような内容がありましたので以下を見て下さい。
(必要に応じてコーデックがいりますが)
https://www.petitmonte.com/bbs/answers?question_id=5417

WMPのままでは無いような気がします。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加