現在再生中のビデオのスクリーンショットを撮ろうとしています。私は正常に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");
残念ながら、私はこれがGingerbread/Honeycombでは可能ではないと思います。ビデオは、キャンバス/ビットマップコンボにレンダリングできない別のサーフェスに表示されます。これはIce Cream SandwichのTextureView APIで可能かもしれませんが、わかりません。 – mportuesisf
が正しいかもしれませんが、まだ私はこれをアーカイブするために近くにr&dをする必要があります。私は画面のrootviewを取得しますが、現在のビューは取得しません。 – milind