我想以编程方式拍摄我的Android应用程序的屏幕截图
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了我想以编程方式拍摄我的Android应用程序的屏幕截图,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1975字,纯文字阅读大概需要3分钟。
内容图文
![我想以编程方式拍摄我的Android应用程序的屏幕截图](/upload/InfoBanner/zyjiaocheng/724/a4798f798a2b4f73adc5abac7299e2b0.jpg)
我想通过使用openSIPS协议以编程方式拍摄我的Android应用程序的屏幕截图,这是一个视频调用应用程序.在视频通话中,我需要拍摄屏幕截图.我已经尝试了一些东西,但除了视频聊天片段之外它还提供了屏幕截图.
这是我的尝试:
public static Bitmap takeScreenshot() {
View rootView = mVideoView.getRootView();
rootView.setDrawingCacheEnabled(true);
//rootView.measure(MeasureSpec.makeMeasureSpec(0, MeasureSpec.EXACTLY),
//MeasureSpec.makeMeasureSpec(0, MeasureSpec.EXACTLY));
// rootView.layout(0, 0, getMeasuredWidth(), getMeasuredHeight());
rootView.buildDrawingCache(true);
// rootView.destroyDrawingCache();
return rootView.getDrawingCache();
}
videoView扩展了一个SurfaceView,它的内容不会通过绘图缓存,因此它只会返回黑屏而不是捕获视频布局.任何帮助将不胜感激.
解决方法:
好的,我得到了完美的答案.
这里是.
if (InCallActivity.capture) {
int widthx = width;
int heightx = height;
int screenshotSize = widthx * heightx;
ByteBuffer bb = ByteBuffer.allocateDirect(screenshotSize * 4);
bb.order(ByteOrder.nativeOrder());
gl.glReadPixels(0, 0, widthx, heightx, GL10.GL_RGBA,
GL10.GL_UNSIGNED_BYTE, bb);
int pixelsBuffer[] = new int[screenshotSize];
bb.asIntBuffer().get(pixelsBuffer);
bb = null;
Bitmap bitmap = Bitmap.createBitmap(widthx, heightx,
Bitmap.Config.RGB_565);
bitmap.setPixels(pixelsBuffer, screenshotSize - widthx,
-widthx, 0, 0, widthx, heightx);
pixelsBuffer = null;
short sBuffer[] = new short[screenshotSize];
ShortBuffer sb = ShortBuffer.wrap(sBuffer);
bitmap.copyPixelsToBuffer(sb);
// Making created bitmap (from OpenGL points) compatible with
// Android bitmap
for (int i = 0; i < screenshotSize; ++i) {
short v = sBuffer[i];
sBuffer[i] = (short) (((v & 0x1f) << 11) | (v & 0x7e0) | ((v & 0xf800) >> 11));
}
sb.rewind();
bitmap.copyPixelsFromBuffer(sb);
InCallActivity.captureBmp = bitmap.copy(
Bitmap.Config.ARGB_8888, false);
InCallActivity.capture = false;
}
我把这个代码放在我的类Renderer的onDrawFrame(GL10 gl)方法中,看起来很有效.这里的InCallActivity是我使用GlSurfaceView的类.
我从this link得到了这个答案.感谢您的支持.快乐编码:)
内容总结
以上是互联网集市为您收集整理的我想以编程方式拍摄我的Android应用程序的屏幕截图全部内容,希望文章能够帮你解决我想以编程方式拍摄我的Android应用程序的屏幕截图所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。