首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏写个呆萌

    Camera2 YUV_420_888

    API 21引入了Camera2,deprecated掉了Camera,确立Image作为相机得到的原始帧数据的载体;硬件编解码的MediaCodec类加入了对Image和Image的封装ImageReader U/V的平(Planar)面和半平面(Semi-Planar) U/V的Planar存储(YUV420P) 我测试不同安设备,找到存储格式是Planar的设备: Log.i 是U数据,即步长为2。 每行实际的U数据只占1/2 ,buffer size / rowStride = 540 只有540行,说明纵向采样也是1/2 ,但buffer size 是 plane[0]的 1/2而不是1/4, 这就是为什么plane[1]和plane[2]的buffer size 是plane[0]的1/2而不是1/4的原因。

    3.5K50发布于 2020-11-13
  • 来自专栏giantbranch's blog

    Frida Hook进阶2

    PS:在高于10的系统里,so的路径是/apex/com.android.runtime/lib64/libart.so,低于10的则在system/lib64/libart.so 函数名称 参数 pthread_create_addr,{ onEnter:function(args){ console.log(args[0], args[1], args[2] onEnter: function (args) { var str1 = args[0].readCString(); var str2 == -1 || str2.indexOf("test") ! init_array_ptr:0x0 [call_constructors] init_func:0x0 -> null [call_constructors] libutils.so count:2

    64700编辑于 2024-12-31
  • 来自专栏火属性小虫

    Kotlin开发学习(2

    , 30 5月 2022 作者 847954981@qq.com 后端学习, 我的编程之路 Kotlin开发学习(2) 和很多现代高级语言一样,Kotlin也是面向对象的。 这样,我们就拥有了三种方法来实例化类: val student1 = Student() val student2 = Student("Jack", 19) val student3 = Student

    64020编辑于 2023-02-22
  • 来自专栏Android点滴分享

    Camera2 采集

    本篇介绍 Camera2相比Camera1,使用起来要复杂一些,不过也节省了一些逻辑,比如可以自动处理角度问题。本篇就按照流程介绍下Camera2的简单使用,更多细节会后续介绍。 使用Camera2 申请权限 静态申请: <uses-permission android:name="android.permission.CAMERA" /> 动态申请: if (ContextCompat.checkSelfPermission

    84330编辑于 2022-10-25
  • 来自专栏写个呆萌

    Android Camera2

    本文是 Camera2 教程的开篇作,本章将介绍以下几个内容: 一些 Camera2 的重要概念 一些只有 Camera2 才支持的高级特性 一些从 Camera1 迁移到 Camera2 的建议 本章涉及的代码很少 LIMITED:除了支持 Camera1 的基础功能之外,还支持部分 Camera2 高级特性的级别。 FULL:支持所有 Camera2 的高级特性。 11 一些只有 Camera2 才支持的高级特性 如果要我给出强有力的理由解释为什么要使用 Camera2,那么通过 Camera2 提供的高级特性可以构建出更加高质量的相机应用程序应该是最佳理由了。 官方说 Camera2 的性能会更好,这句话听听就好,起码在较早期的一些机器上运行 Camera2 的性能并没有比 Camera1 好。 13 结束语 本章到此结束,主要是介绍了 Camera2 的一些基础概念,让大家能够基本了解 Camera2 的工作流程和基础概念,并且知道使用 Camera2 能够做些什么。

    2.8K51发布于 2020-12-01
  • 来自专栏雪月清的随笔

    Camera2 Extensions

    提供的一套方便第三方相机开发者也能使用到平台厂商独有的一些Camera能力(比如bokeh、夜景、HDR等)的API 其中Google制定extensions-interface层,向下由OEM供应商提供能力实现,向上则封装Camera2 API来提供能力接口 架构图如下所示 CameraX Extensions API的用法可以参考Android官方账号发表的推文 使用 CameraX Extensions API 将特效应用到照片上 Camera2 ); Log.i(TAG, "openCameraCore: support extensions: " + list); } } 设备支持的情况下就可以开始启动预览了,步骤和Camera2 普通模式启动预览流程是类似的,三步走即可,只是一些接口不同 打开相机的步骤和Camera2普通模式无差异 创建会话则采用createExtensionSession 获取CameraExtensionSession extension: 例如EXTENSION_HDR // listener: 使用CameraExtensionSession.StateCallback // outputs和executor类似Camera2

    2.5K40编辑于 2022-11-19
  • 来自专栏增长技术

    Android Camera2

    /** * Returns the capture session manager instance that modules use to store * temporary or final capture results. */ public CaptureSessionManager getCaptureSessionManager(); /** * Returns the memory manager which can be used to get informed about memory * status updates. */ public MemoryManager getMemoryManager(); /** * Returns the motion manager which senses when significant motion of the * camera should unlock a locked focus. */ public MotionManager getMotionManager(); /** * Returns the media saver instance. *

    * Deprecated. Use {@link #getCaptureSessionManager()} whenever possible. * This direct access to media saver will go away. */ @Deprecated public MediaSaver getMediaSaver(); /** * @return A listener to be informed by events interesting for remote * capture apps. Will never return null. */ public RemoteShutterListener getRemoteShutterListener(); /** * @return The settings manager which allows get/set of all app settings. */ public SettingsManager getSettingsManager();

    1K10发布于 2018-09-06
  • 来自专栏泽泽社

    App Inventor 2打地鼠

    视频教程地http://www.bilibili.com/video/av1225648/

    1.5K30编辑于 2023-04-17
  • 来自专栏谭广健的专栏

    系统签名方法2

    最近一个的项目,本来是使用板4.2的;但由于生产需求将原来的单板集成到整体(显示触屏+)。由于其提供的样板是6.0。整个程序的主功能运行还可以,就是无法写日志和播放本地视频。 于是研究一下,发现原来是他们提供的未root导致的。于是跟供应商联系给root文件,谁知这丫的不给,就给了个的系统签名。。好吧,给系统签名就重新编译吧。 2、那只能在目前的签名中加入系统签名,这个真的比较麻烦。但麻烦一次,后面就简单了。那怎么做呢? /KEY20190711.jks") storePassword "A1A2A3A4A5" keyAlias "KEY0" keyPassword "A1A2A3A4A5" } release { storeFile file("..

    2.6K40发布于 2020-01-16
  • 来自专栏Android Camera开发

    Android Camera2 学习01_API 的简单描述和调用(预览、拍照、录像

    Android 5.1 以后,添加了Camera2 的API,能够满足更多控制camera的场景。当然,相对应camera1的调用,也变的复杂一点。 catch (CameraAccessException e) { e.printStackTrace(); } } 2.5拍照 Camera2 Android API文档(https://developer.android.google.cn/reference/android/hardware/camera2/package-summary Camera设备实例,这个就是CameraDevice了; 那么接下来就是怎么怎么把Camera数据显示到UI上,这时就用到Surface了,我们可以这样理解,Surface是图像显示的介质,Camera2 这些Surface我们需要预先初始化好参数; 那么有了显示的载体后,就可以进行显示了,Camera2里面就用到了个CaptureRequest 来触发数据的请求,这个request又可以根据自己的使用场景设置不同的请求类型

    2.1K30发布于 2021-04-30
  • 来自专栏Android Camera开发

    Android Camera开发序列:Camera2 API 的简单描述和调用(预览、拍照、录像

    Android 5.1 以后,添加了Camera2 的API,能够满足更多操纵camera的场景。当然,相对应camera1的调用,也变的复杂一点。 CameraDevice -------------- 当前连接的摄像头对象; CaptureRequest -------------- camera数据的请求,比如预览、拍照、录像等 } catch (CameraAccessException e) { e.printStackTrace(); } } 复制代码 2.5 拍照 Camera2 对应的Camera设备实例,这个就是CameraDevice了; 那么接下来就是怎么怎么把Camera数据显示到UI上,这时就用到Surface了,我们可以这样理解,Surface是图像显示的介质,Camera2 这些Surface我们需要预先初始化好参数; 那么有了显示的载体后,就可以进行显示了,Camera2里面就用到了个CaptureRequest 来触发数据的请求,这个request又可以根据自己的使用场景设置不同的请求类型

    2.5K10发布于 2021-04-19
  • 来自专栏fjal

    如何从电脑直接控制手机 监控手机 手机如何控制手机

    实用方法很简单,在手机上安装这个软件,然后运行,然后进入Setting,点击User's settings,然后Create new user(我新建了一个叫做ACE的用户),注意这里在豌豆荚的截图只是做教程用的,实际不需要连接豌豆荚,甚至不需要WIFI,只要你打开了GPRS

    21.5K31编辑于 2021-12-01
  • 来自专栏雪月清的随笔

    Android Camera2详解

    信息以及手动控制每一帧的参数; 对Camera的控制更加精细(比如支持调整focus distance,对焦曝光模式等); 支持更多图片格式(yuv/raw); 高速连拍 当然,就像硬币总是存在正反两面,Camera2 Camera2主要类 ? Camera2中要获取预览数据则需要额外配置一下。 首先需要通过ImageReader创建的Surface,在创建session的时候配置进去. 总结 Camera2的基本使用总结到这里,使用起来肯定是不如Camera1方便,不过能让应用层有更多的操作空间总是值得的,而且从Android9.0开始也不得不使用这套架构了 ? (文章的代码引用自官方的例子Camera2Basic)

    3.1K20发布于 2020-06-23
  • 来自专栏CSDN旧文

    开发基础--基本控件

    的控件的上边 android:layout_above="@id/text1" //比例划分前提是线性布局,内部元素可以按照比例划分 //需要设置权重: android:layout_weight="2" 2. EditText 输入框,可编辑,可设置软键盘方式。继承自android.widget.TextView,在android.widget包中。 OnClickListener { private EditText edittext; private Button button; private Button button2; = (Button) findViewById(R.id.button2); button.setOnClickListener(this); button2.setOnClickListener R.id.button: edittext.setText("点击了Button"); break; case R.id.button2:

    11.4K20发布于 2020-10-28
  • 来自专栏全栈程序员必看

    toast_toast使用

    android:id="@+id/textView" android:layout_gravity="center_horizontal" /> </LinearLayout> 在线程中使用 根据编程规范

    10.8K10编辑于 2022-10-01
  • 来自专栏全栈程序员必看

    系统框架介绍(常用框架)

    ——源码地址1: https://android.googlesource.com/ ——源码地址2:http://androidxref.com/ 起初专为移动设备开发的一个操作系统,如手机,平板电脑

    13.8K40编辑于 2022-07-30
  • 来自专栏叽叽西

    Ant 打包apk(2)-手写版

    "> <description> 构建脚本 </description> <property name="project-dir" location="."/> <

    92120编辑于 2022-06-27
  • 来自专栏红蓝对抗

    逆向系列篇:工具总结

    文章首发于奇信攻防社区 原文链接:https://forum.butian.net/share/648 一、开发工具 开发工具主要是一些Java开发环境、集成开发环境和开发环境等 1、JDK 在官网直接下载即可,双击安装 安装类型 确认安装 二、逆向工具 这部分介绍的逆向工具是一些用于反编译、逆向分析的工具,可以将源程序反编译成可读代码,如Android Killer、Jadx 对于没有真机的情况下还介绍了一些上手还可以的模拟器 1、APK helper APK helper工具用于查看apk文件简单信息,包括包名、证书、版本、文件信息等 2、PKiD 查壳工具 PKiD 工具,将apk文件拖入可以查看是否加壳 3、模拟器 如果没有真机做实验的情况下,可以使用模拟器用于实验,大部分的模拟器都可以完成实验内容,但是注意的是模拟器也是一个虚拟机,不建议在虚拟机内安装模拟器 这里介绍几款不错的模拟器。

    13.1K31编辑于 2022-06-30
  • 来自专栏全栈程序员必看

    adb连接设备_adb命令

    int a= (int) (Math.pow(x-xWidth/2, 2) / Math.pow(xWidth/2, 2) + Math.pow(y-yHeight/2, 2) / Math.pow(yHeight /2, 2)); 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    9.3K30编辑于 2022-11-17
  • 来自专栏程序编程之旅

    集成魔窗-完整实例

    前些日子,公司应用的魔窗出现问题,需要重新写过。于是,就有了此篇魔窗HelloWord。 填写APP信息: image.png iOS应用的填写先不管,这里讲的是。 首先你需要创建一个启动页(Cocos2d-x开发的游戏也可以),记得是启动页而不是首页。

    4.8K10发布于 2021-01-21
领券