I've seen a lot of old questions about this, maybe now there are some solutions. I want to take a screenshot of the current frame of my videoview. Videoview shows a real-time video using a rtsp-stream.
I try to take bitmap, but it's always black
public static Bitmap loadBitmapFromView(View v) {
Bitmap b = Bitmap.createBitmap(v.getLayoutParams().width , v.getLayoutParams().height, Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
v.layout(0, 0, v.getLayoutParams().width, v.getLayoutParams().height);
v.draw(c);
return b;
}
EDIT :
MediaMetadataRetriever
does not work with stream url, maybe works with video-file.
Using lib at this link (it's a wrapper of MediaMetadataRetriever
that enable rtsp protocol input) I can save a frame of video, but there is a delay of 10 secs respect real-time videoview because it must create a new connection with streaming server.
I not test ThumbnailUtils
, but in Api I read that input is only file-path