b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

surfaceview 大小 记录:Android(5.0)截屏的实现

电脑杂谈  发布时间:2018-01-04 12:08:03  来源:网络整理

surface3尺寸_surfaceview 大小_surfaceview游戏

摘要:最近的公司的签写demo,需要在之前的签写、拍照、抽奖的基础上追加一个投屏的功能。一番收索之后,时间就是一周过去,想想自己都尴尬了。考虑了种种实现方式,什么只截取程序本身的界面啊,让后通过socket进行传输。通过直播流阿…等等。最后不得不放弃了。原因一个自己“low“, 对编码问题一窍不通,更不说推流了。

这里只对截图做记录,采取直接截屏的方式原因因为,只截取程序自身的图片。也还是需要用户授权。surfaceview 大小对于截取音视频。哈. . hahah… . . 尴尬的笑笑

????开篇吐槽一下自己,从上班之后,由于公司没有什么活。就开启自己的抄抄模式。前期的时候一次性的转载了40片左右文章。原因也是在上班之际,白纸一张。那时候感觉抄着文章,感觉还可以能看懂。到了如今发现抄不动了。哎!!! 发现自己已经在奔溃中了。

????这里先从5.0开始。在5.0的时候系统提供了截屏的API,5.0之前需要Root权限,罗列三个链接,分别Google官方的demo,5.0截屏屏传输,5.0之前的截屏。

googlesamples/android-ScreenCapture

屏幕录制(一)——MediaProjection 简介

android-notes/androidScreenShareAndControl其中有反向控制,可以通过投屏的显示界面操作手机端

????对于截取图片的流程都是一样的,通过MediaProjectionManager , MediaProjection , VirtualDisplay , ImageReader 四个类就可以完成截图。现在知道通过以上四个类就可以完成截图,并获取 Bitmap。下面就对这几个类做一个Google翻译的一个记录。

????MediaProjectionManager

????Manager 看见这个就想到了这是一个管理类,需要通过getSystemService()去获取实例对象。类的注释为

/**
 * Manages the retrieval of certain types of {@link MediaProjection} tokens.
 *
 * <p>
 * Get an instance of this class by calling {@link
 * android.content.Context#getSystemService(java.lang.String)
 * Context.getSystemService()} with the argument {@link
 * android.content.Context#MEDIA_PROJECTION_SERVICE}.
 * </p>
 */
????可用的公用的方法只有两个,分别为“createScreenCaptureIntent() , getMediaProjection()“ ,从上面可以真正进行截屏操作的类还是“MediaProjection“ 。这里需要注意一下,并不同于其他的 XXXXManager再获取实例对象后就可以调用公有方法了。这里需要分为两步:????第一步
          Intent captureIntent = projectionManager.createScreenCaptureIntent();
          startActivityForResult(captureIntent, RECORD_REQUEST_CODE);
????第二步


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-58101-1.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    热点图片
    拼命载入中...