如何在不在屏幕上显示视频的情况下从TMediaPlayer(VCL)捕获所有帧(在RAM中,而不是在磁盘中)?
我试过了:
MediaPlayer设置为在面板中显示电影:
MediaPlayer1.Display := pnlFakeScreen;
pnlFakeScreen.Visible:= true;
pnlFakeScreen.top:= -10000;
我用它从隐形面板中获取图像:
ADC := GetDC(pnlFakeScreen.Handle);
Bitblt(BMP.Canvas.Handle, 0,0, BMP.Width, BMP.Height, ADC, 0, 0, SRCCOPY);
当面板不可见或不在屏幕外时,捕获功能无效。