Tôi đang cố chụp ảnh màn hình của video hiện đang phát. Tôi đang thử với mã mà thành công có một ảnh chụp màn hình của xem web nhưng không thành công trong việc chụp ảnh của video hiện đang chơi.cách chụp màn hình của video hiện đang phát?
Mã như sau cho chế độ xem web.
WebView w = new WebView(this);
w.setWebViewClient(new WebViewClient()
{
public void onPageFinished(WebView view, String url)
{
Picture picture = view.capturePicture();
Bitmap b = Bitmap.createBitmap(picture.getWidth(),
picture.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
picture.draw(c);
FileOutputStream fos = null;
try {
fos = new FileOutputStream("/sdcard/yahoo_" +System.currentTimeMillis() + ".jpg");
if (fos != null)
{
b.compress(Bitmap.CompressFormat.JPEG, 90, fos);
fos.close();
}
} catch(Exception e)
{
//...
}
}
});
setContentView(w);
w.loadUrl("http://www.yahoo.com");
Thật không may, tôi không nghĩ điều này có thể xảy ra trong Gingerbread/Honeycomb. Video được hiển thị trong một Bề mặt riêng biệt không thể hiển thị thành kết hợp Canvas/Bitmap. Điều này có thể là có thể với các API TextureView trong Ice Cream Sandwich, mặc dù tôi không chắc chắn. – mportuesisf
có thể là u là đúng nhưng tôi vẫn cần phải làm r & d cho i m gần để lưu trữ này, tôi nhận được rootview của màn hình nhưng không có được xem hiện tại. – milind