【发布时间】:2011-11-15 17:36:23
【问题描述】:
我正在尝试截取当前正在播放的视频。我正在尝试使用成功截取网络视图的代码,但无法成功拍摄当前正在播放的视频的照片。
网页视图的代码如下。
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");
【问题讨论】:
-
不幸的是,我认为这在 Gingerbread/Honeycomb 中是不可能的。视频显示在无法呈现为画布/位图组合的单独 Surface 中。 Ice Cream Sandwich 中的 TextureView API 可能会实现这一点,但我不确定。
-
也许你是对的,但我仍然需要做研发,因为我已经接近存档了,我得到了屏幕的 rootview 但没有得到当前视图。