首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

音视频直播技术--Android视频采集(Camera2)

Surface:存放数据类,在实际操作,我们只要把 surface告诉CaptureRequest.Builder,当有数据到来之后,系统底层就会将数据存放到 surface。...CameraCaptureSession.CaptureCallback:该类是CameraCaptureSession另一个内部类,其中定义了 onCaptureCompletedonCaptureProgressed...两个方法,这两个方法也需要用户自己来实现,系统会根据 Session 捕获图片不同阶段来回调这两个不同方法: onCaptureCompleted:图片捕获完成。...onCaptureProgressed:图片正在处理。...小结 通过上面对 Camera2 API 使用分析,我们们可以看到 Camera2 完全采用了异步架构模式,在完成 Camera 每一步操作后系统都会通知用户,用户可以在回调时做下一步操作,而不用一直等待

1.8K20
您找到你想要的搜索结果了吗?
是的
没有找到

浅谈MVP模式

端午放假,天气下雨,于是乎在家撸一下博客,本篇博客将为大家解析MVP模式在应用。 本文将从以下几个方面对MVP模式进行讲解: 1.  MVP简介 2.  为什么使用MVP模式 3.  ...MVP内存泄露问题 1.  MVP简介: 随着UI创建技术功能日益增强,UI层也履行着越来越多职责。...为什么使用MVP模式 在Android开发,Activity并不是一个标准MVC模式Controller,它首要职责是加载应用布局和初始化用户界面,并接受并处理来自用户操作请求,进而作出响应...当我们将其中复杂逻辑处理移至另外一个类(Presneter)时,Activity其实就是MVP模式 View,它负责UI元素初始化,建立UI元素与Presenter关联(Listener之类...在各个ActivittyPresenter有很多类型,所以在BaseActivitty,也需要对Presenter进行抽取成BasePresenter,MVPPresenter是持有view引用

92030

Android图片识别应用详解

最近由于参加一个小小创意比赛,用做了一个小小图片识别应用,主要是通过拍照识别图片中的菜品,还有对象位置查找东西。...之前没有做过,都是拼拼凑凑多篇博客完成,我也把这个项目的一些过程分享一下。先把功能贴一下,其实就是点击拍照,将照片保存在本地,然后识别出图中的菜品,然后用红色方框圈出来,并显示菜品种类。...采用最新Camera2API,的确是比Camera好用。 ? ?...surfaceView.clearDraw(); surfaceView.drawLine(keys,values); tv.setText("搭配很赞哦"); } //onCancelled方法用于在取消执行任务时更改...savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //此步骤非常重要,不用自动帮你创建文件夹来保存拍照照片

3.9K41

Android实现Camera2预览和拍照效果

简介 网上对于 Camera2 介绍有很多,在 Github 上也有很多关于 Camera2 封装库,但是对于那些库,封装性太强,有时候我们仅仅是需要个简简单单拍照功能而已,因此,自定义一个 Camera...(本文并非重复造轮子, 而是在于学习 Camera2API 基本功能, 笔记之。) 学习要点: 使用 Android Camera2 API 基本功能。 迭代连接到设备所有相机特征。...Camera2 API 为连接到 Android 设备各个相机设备提供了一个界面。 它替代了已弃用 Camera 类。 使用 getCameraIdList 获取所有可用摄像机列表。...reader) { mBackgroundHandler.post(new ImageSaver(reader.acquireNextImage(), mFile)); } }; /** * 将捕获到图像保存到指定文件...(注意:为了方便读者手机端阅读,本文代码部分成员变量使用了行尾注释,在正常编程习惯,请使用 /* / 注释。) 以上就是本文全部内容,希望对大家学习有所帮助。

1.9K30

Android--SVG在系统应用

SVG,即Scalable Vector Graphics 可伸缩矢量图形,这种图像格式在前端已经使用非常广泛了 SVG图片相对于一般图片(png、jpg等),拥有占用体积小,支持等比例缩放不失真...,性能高等优势,谷歌在Android5.0引进了SVG,并转化为Vector,在Android中指的是Vector Drawable,也就是Android矢量图,可以说Vector就是Android...SVG实现(并不是支持全部SVG语法,现已支持完全足够用了) Vector图像刚发布时候,是只支持Android 5.0+,自从AppCompat 23.2之后,Vector可以使用于Android...Vector 语法简介 通过使用它Path标签,几乎可以实现SVG其它所有标签,虽然可能会复杂一点,但这些东西都是可以通过工具来完成,所以,不用担心写起来会很复杂。...添加 defaultConfig { vectorDrawables.useSupportLibrary = true } 1.2、在gradle添加 compile

2.7K20

对于文件夹综合操作

,然后清理一下空文件夹 自定义文件夹大小过滤,最后以一个文件夹浏览器小案例总结全文。...查看文件夹下所有文件夹大小.png 4.高阶:将文件夹所有文件夹大小信息输出到SD卡 1).用列表保存数据 public long dirListSize(File dir, List<String...+ "----大小:" + size / 1024.f / 1024 + "MB"); } } } return size; } 2).将列表数据写出到...将信息保存到文件.png ---- 二、空文件夹 1.空文件夹检测比较简单,将加入列表条件限定一下即可 /** * 获取某文件夹下所有空文件夹 * * @param dir 根文件夹...项目源码 日期 备注 V0.1--无 2018-10-26 对于文件夹综合操作 2.更多关于我 笔名 QQ 微信 爱好 张风捷特烈 1981462002 zdl1994328 语言 我github

1.5K20

周末福利 | 关于CTF快速做法

0x00前言 对于题目的操作,网上对于此类教程也不太详细,这里我们以jarvisoj-Findpass为例子介绍如何动态调试apk出flag,首先我们需要Android studio + smailidea.../JesusFreke/smali/downloads/下载 首先我们拿到apk,第一时间是打开模拟器安装,大概知道apk有什么功能(这里我用逍遥模拟器), ---- ?...大概就是输入key然后验证key过程,然后我们在正式开始动态调试需要配置我们环境 0x01步骤 1. 到虚拟机目录下找一个adb.exe程序, ? ---- 命令行模式下输入 ?...---- 进入命令行,输入 adb.exe connect 127.0.0.1:21503 (跟第二步获取到模拟器端口) ?...---- 然后我们要看模拟器启动app进程号 ---- adb shell ps ---- ---- ?

2K100

开发Model-View-Presenter(MVP模式)

对于层之间通信,在经典MVP案例,我们发现它是通过回调完成(这将最终把我们应用程序变成回调地狱),而在MVVM LiveData中使用,虽然它允许我们避免回调,但它没有为我们提供大量操作符来操作数据...View 在Android,我们视图实现将对应于一个活动或一个片段(在示例/项目中是片段),但它可以是一个ViewModel,甚至是一个可视化组件。...这里不讨论视图是由N个片段组成活动情况,因为每个片段都有M个演示者,我们可以假设视图是这些片段每一个,尽管它们随后被分组到一个片段(甚至在另一个片段)。...由于在这个体系结构,我们组件是接收事件和发出信息黑盒,因此很容易验证在接收X事件时发出了信息Y。...此外,这个视图模型可以直接将数据绑定注入到XML,并使用LiveData将可视化组件绑定到LiveData可观察对象。

1.6K30

解决XML文件声明高度 宽度无效问题

搬砖时候,需要在popupwindow里嵌套一个ListView用来展示动态菜单。重写了ListView高度为所有的Item高度之和。 item: <?...但是添加到ListView时候,却发现在手机上显示高度明显大于45dp。 image 根据图片我们可以看到,下面三个按钮显示高度跟第一个显示高度,差了差不多两倍多高度。...原来原因在这里: 我们在是使用 inflater.inflate(R.layout.item_popumenu, root, attachToRoot); 来添加到父布局,但是对于这几个参数却没有去研究...如果root不为null,attachToRoot设为true,则会给加载布局文件指定一个父布局,即root。 3....在不设置attachToRoot参数情况下,如果root不为null,attachToRoot参数默认为true。 其实也看得我云里雾里,但是大概知道解决方法了。

2K30

一篇文章带你了解Android 最新Camera框架

HAL 将由供应商或 SOC 制造商构建,放置在设备 /vendor 分区,这样一来,框架就可以在其自己分区通过 OTA 进行替换,而无需重新编译 HAL,这也是Project Treble框架设计而诞生...2.修改 CaptureRequest 闪光灯配置,让闪光灯在拍照过程亮起来。3.创建两个不同尺寸 Surface 用于接收图片数据,并且将它们添加到 CaptureRequest 。...最后我们从不同尺寸 Surface 获取图片数据并且还会得到一个包含了很多与本次拍照相关信息 CaptureResult,流程结束。...,并提获取 CameraCharacteristics 实例方式。...1) 定义回调接口 当拍照完成时候我们会得到两个数据对象,一个是通过 onImageAvailable() 回调给我们存储图像数据 Image,一个是通过 onCaptureCompleted(

2.9K30

一篇文章带你了解Android 最新Camera框架

HAL 将由供应商或 SOC 制造商构建,放置在设备 /vendor 分区,这样一来,框架就可以在其自己分区通过 OTA 进行替换,而无需重新编译 HAL,这也是Project Treble框架设计而诞生...image.png pipeline流程图 为了解释上面的示意图,假设我们想要同时拍摄两张不同尺寸图片,并且在拍摄过程闪光灯必须亮起来。...最后我们从不同尺寸 Surface 获取图片数据并且还会得到一个包含了很多与本次拍照相关信息 CaptureResult,流程结束。...,并提获取 CameraCharacteristics 实例方式。...1) 定义回调接口 当拍照完成时候我们会得到两个数据对象,一个是通过 onImageAvailable() 回调给我们存储图像数据 Image,一个是通过 onCaptureCompleted()

1.5K41

Java自定义注解在开发简单运用

【Override】 java中有很多框架都用到了注解包括javaApi也是,想一些网络框架@GTE,@POST,@PATH等等,java@Override注解是可以被继承,它是可以在代码编译期告诉...JVM类之间继承关系,那到底注解是怎么实现呢,首先你要定义一个注解,然后通过反射来实现你所要功能。...Java元注解 元注解就是注解注解,听起来比较拗口,说白了就是说明注解一些属性,比如当前注解是作用在类还是局部变量、实例变量、方法,注解生存期、能否被子类继承、可否被文档化等等。...通过反射找到控件 以上代码有一些反射基础同学都可以看明白,而且写了注释,最后是页面代码 ?...Activity页面 在控件上面写上注释和它ID值,在使用控件之前把上下文传递给FindViewByReflection这个类,让它通过反射来遍历所有用到了注释变量,然后为它们赋值,也就是在运行过程

1.6K10

脚本在项目开发一些简单应用

前言 在平时项目开发过程,除了业务逻辑编写以外,还有一些其它琐事需要处理,比如资源更新、单元测试、资源压缩等。...如果当时没有连上AS调试,那么可以去SD卡.crash文件夹查看对应app包名文件夹不同时间崩溃信息文件。但是有个小问题,里面关于崩溃信息是单行文本,如果信息很长不好定位问题所在。...脚本方案: 首先预先修改好对应分辨率build.prop文件内容,切换到不同分辨率直接push对应文件即可。...当资源有更新时我们需要将更新资源同步到我们res或者assets。以下以图片为例。...这其中可能会有问题: 1、视觉同事输出图片名称为了辨别很多都是用中文,我们在拷贝到工程时候需要进行改名,改成我们工程需要英文名称; 2、当文件比较多时候,

1.9K20

一个木函-系统百宝箱

image.png 这是一款为了让我们卸载掉许多在手机上不怎么常用(比如京东,翻译)却必须要或总是要安装APP而诞生一款APP。...【极简在外,极致在内】 体积仅1MB左右,却包含了需要安装无数个APP才能达到实用功能。...image.png 【独一无二,极速强大】 它拥有着平台唯一,且自定义项极多”真正意义上”网页APP制作功能,可让我们使用上一些毒瘤APP网页APP并卸载掉官方毒瘤版,以及还有许多其它用途...image.png 【化繁为简,想我所想】 开启应用后第一页便是收藏,只看我们想看到东西,摒除多余元素。且将搜索至于顶栏,提高浏览效率。给我们一个虽星罗棋布却窗明几净APP。...【小巧玲珑,清新舒适】 优美简练却又感到精致界面与交互,就像是Material与小清新碰撞出火花,让你爱不释手。

1.7K20
领券