- 博客(61)
- 资源 (9)
- 收藏
- 关注
原创 FFMPEG之时间戳计算
FFMPEG之时间戳计算 因为公司项目需求,需要将HEVC 视频裸码流 和 G711A 音频裸码流 封装到MP4容器中,但是FFMPEG 并不支持将G711A 格式音频 封装到MP4中,需要将G711A 格式音频转换成AAC格式的音频,再封装到MP4容器中,或者修改FFMPEG 的源码(不是本文重点) 。在封装过程中音频数据 和视频数据都需要打上解码时间戳,显示时间戳,一帧的时长,这就需要计算每帧的时间戳。FFMPEG 中 视频时间戳的计算 在FFMPEG中可以区分 视频流 和 音频流。同
2020-08-07 10:26:20 1315
原创 Ffmpeg之native渲染YUV视频
Android 平台 不能直接渲染YUV格式视频,需要做YUV 转换 RGB,再去渲染,转换的方式有两种:1、使用ffmpeg的转换api,将解码后的原数据转换为RGB格式数据,再渲染2、使用opengl GPU 做转换 渲染本文章主要介绍第二种方式基于NDK来做渲染(使用GPU做渲染,可以提高效率)使用GPU 来做渲染 就需要 接触到 EGL 和 OPENGL 这两个词,这里摘录一些介绍和使用:通俗上讲,OpenGL是一个操作GPU的API,它通过驱动向GPU发送相关指令,控制图形渲染
2020-06-04 12:14:29 571
原创 FFmpeg 之 本地文件解码
之前介绍了如何在ubuntu 系统下编译ffmpeg源码成so动态库,本篇文章记录ffmpeg解码本地文件的使用,和渲染在屏幕上。本篇文章及以后的ffmpeg的操作都是在Android 平台开发实现,ffmpeg 的版本是3.4版。在贴出代码之前先简单介绍下用到的几个结构体的一些作用:AVFormatContext、AVCodecContext,AVCodec、AVPacket 、AVFra...
2019-12-05 12:14:47 1130
原创 WebView之 提取网页内容
日前遇到了这么一个需求,用WebView去加载url,在WebView 页面加载成功后,提取页面的内容。在页面加载完成再提取,就需要设置WebViewClient对象,重写 里面的的方法: client = new WebViewClient(){ @Override public boolean shouldOverrideUrlLoadi...
2019-09-26 20:55:46 2500 1
原创 Python3爬虫之爬虫准备
爬虫原理爬虫其实是获取服务端的response的内容,根据自己的需求做解析,提取所需的信息爬虫需要做两件事:模拟计算机对服务器发送request请求 接受服务器端的response内容并解析,提取所需的信息但是互联网网页错综复杂,一次的请求和回应不能够批量获取所需的信息,这就需要设计爬虫的流程,主要是多页面爬取和跨页面爬取。多页面爬取一台显示器显示的数据量很有限,很多请求下...
2019-08-25 16:03:02 214
原创 ffmpeg开发之编译forAndroid
ffmpeg是一个开源的,功能强大的音视频处理库,可以实现视频编解码,音频采集解码,现在很多的手机上的直播软件用的就是这个开源库。今天写一篇博客来记录自己编译的过程,以免忘记。编译环境:系统:Ubuntu 18.04.3 LTS(虚拟机 64位)FFmpeg (4.1.3)NDK(android-ndk-r15c)make集成步骤:下载ffmpeg源码:ffmpeg下载...
2019-08-15 11:28:23 383
原创 App动态修改图标包名
细心的朋友会发现,现在火热的京东,天猫等app的icon 在手机中不知道什么时候发生了改变,尤其是在618,818等活动,改变了图标,但是奇怪的是我们并没有更新软件,这个图标怎么就变了,作为android开发者就来分析实现下。 在android 开发过程中有一个重要的文件 AndroidManifest这个xml文件,它包含了很多标签元素,application、ac...
2019-08-01 15:07:04 766
原创 AlertDialog之内容适配
在手机应用中,对话框(dialog)到处可见,尤其是在一些需要做设置和修改信息时,会有一个对话框作为提醒,让用户确认确实需要这样做,android系统也提供了默认的dialog样式,但是系统提供的样式并不能满足所有的样式需求,而且系统提供的样式不美观,大部分的对话框需要android开发人员自己设计dialog的样式以满足需求。 大部分自定义对话框样式的方式都是在d...
2019-05-10 18:13:09 605 1
原创 win10子系统
之前在win系统上做源码编译,都需要配置各种环境或者用虚拟机安装linux系统,这两方式要么环境配置复杂,要么电脑草鸡慢,有没有,蓝瘦香菇。16年微软在win10上加了一个子系统功能,相当于win10系统下的一个软件,这个子系统初始是没有桌面效果的,不会消耗很大内存,这里记录如何在win10打开子系统功能,并且安装unix系统。 第一步: 进入系统的所有设置,选择...
2019-05-09 14:39:00 685
原创 记录camera2的基础使用
package com.example.xinlai_001.camerademo;import android.Manifest;import android.content.pm.PackageManager;import android.graphics.Bitmap;import android.graphics.BitmapFactory;import android.gr...
2019-04-19 17:19:48 296
原创 bitmap 转换nv21
最近在做相机相关的功能,有一个需求,需要把bitmap转换成yuv,这里是形成nv21 格式,这里只是记录代码,便于以后查找:byte[] getNV21(int inputWidth, int inputHeight, Bitmap scaled) { int[] argb = new int[inputWidth * inputHeight]; scaled.get...
2019-04-12 09:24:53 3122
原创 opencv简单导入
最近做公司的一个新的项目,需要实现图片内容的识别,经过百度很多都是使用opencv和tess-two实现的,自己跟着操作,记录下实现的过程和一些代码。opencv和tess-two都是第三方库,需要自己添加依赖,tess-two的依赖添加很简单,在项目的build.gradle文件下添加外部依赖就可以了例如:implementation 'com.rmtheis:tess-two:6.1.1'...
2019-01-17 13:51:28 4019
原创 关于java.lang.NoSuchMethodError: No static method checkSelfPermission的问题
最近在做SDK的接入的工作,之前的项目面向的是低端机型,给的compileSdkVersion和TargetSdkVersion的版本比较低,而现在接入这个SDK后通过运行,在Android6.0一下版本还是可以运行,但是高于android6.0的机型中就会报错报错信息是:2018-12-27 09:27:03.086 3456-3456/com.ayx.dwhgz.baidu E/Andro...
2018-12-27 09:48:42 5878
原创 ionic3打包apk流程
最近在学习ionic3,根据以前的原型图,使用ionic3实现类似的效果,最后学习如何打包成apk。之前使用Android Studio做原生开发,JDK的环境已经配置好了,需要配置JDK环境的同学自行百度即可,这里不做介绍。主要介绍ionic的打包流程。先说明下我的ionic的环境:ionic 版本---4.2.1 ;node.js 版本---- 8.12.0 ;cordova 版本---8...
2018-10-18 15:12:52 958
原创 python之读写Excel
python之读写Excel 最近公司在进行一些核对的工作,看着同事在excel文件中一个一个的比对信息,效率太低,还容易造成视觉疲劳,而发生错误,刚好年前事情不是很多,在学习python,正好使用python来读写Excel文件提升下自己的技能,也可以帮助同事,提升工作效率。 先去百度了下python读写Excel所需要的第三方包,这里使用了xlwt(关于将数据写入
2018-02-07 15:11:13 368
原创 关于注解butterknife的使用
最近升级了Android Studio ,同时也升级了Gradle ,使用Butterknife做注解,结果在编译的时候报错,Error:android-apt plugin is incompatible with the Android Gradle plugin. Please use annotationProcessor这句说在目前的Gradle插件中不可以使用andro
2018-01-17 16:44:35 226
原创 Retrofit之https
Retrofit之https 好久没有写博客了,之前学习了目前比较火的网络请求框架Retrofit的使用,没有做过的的深入研究,在项目开发过程中,使用还比较顺利。一般的情况下使用retrofit是不用做很多的配置的,最近接触到了https这个网络的协议,使用retrofit做https的请求就不一样了。 在做请求之前,先要了解下http协议和https协议的基本概念和区别。
2017-12-28 15:32:43 941
原创 Android之andfix使用说明
Android之andfix使用说明 现在Android比较常见的技术就是热修复、插件化和组件化的操作,这里自己学习了下比较老的一个框架-------andfix。全称是Android hot-fix。是阿里开源的一个热补丁框架,允许app在不重新发布新版本的情况下修复线上的bug。但是这个框架有仅仅支持Android2.3到6.0,。但是还是值得学习一下。使用方式:
2017-10-18 14:42:33 394
原创 php之初级PHPExcel
php之初级PHPExcel PHPExcel 是个很强大的操作文件的框架,可以很轻松的帮助php开发者操作办公文件和数据库之间的数据对接。刚好自己遇到了这样的需求,也是自己的能力的提升,在这里记录了自己的理解,也希望能帮助一起学习的朋友。 1.下载 PHPExcel的代码是开源的,我们可以再github上就可以下载了,下载地址——>下载地址,下载
2017-09-08 15:55:04 825
原创 android之与xml数据解析
android之与xml数据解析 作为Android开发人员,经常要与后台进行数据交互,Android端一般通过请求的形式将数据发送给后台服务器,同时后台服务器会通过Json或者xml结构给我们返回一些数据。对于服务器返回的数据我们并不是直接拿来就使用的,对于json结构的数据,我们并不陌生,现在有很多的框架给我们解析json结构数据的支持,比如:GSON、fastjson等。对于
2017-08-22 14:34:28 440
转载 Android Service
Android总结篇系列:Android ServiceService通常总是称之为“后台服务”,其中“后台”一词是相对于前台而言的,具体是指其本身的运行并不依赖于用户可视的UI界面,因此,从实际业务需求上来理解,Service的适用场景应该具备以下条件:1.并不依赖于用户可视的UI界面(当然,这一条其实也不是绝对的,如前台Service就是与Notification界面结
2017-08-15 10:10:44 351
原创 Java设计模式
Java设计模式之初识设计模式简介: 设计模式(design Pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是一套被反复使用的多数人只晓得经过分类编目的,代码设计经验的总结。使用设计模式是为了重用代码,让代码更容易本他人理解,保证代码可靠性。设计模式使代码编制真正的工程化,设计模式是软件工程的基石。设计模式是有GOF 提出的,他
2017-07-27 15:05:24 511
原创 Android之百度地图(二)基础地图和定位
Android之百度地图(二)基础地图和定位 上一篇文章和大家分享了如何查看SHA1和申请百度地图的秘钥,现在继续和大家分享如何实现百度地图的基本地图的实现和定位。要在应用中使用百度地图,必须下载百度提供的相应的sdk和so文件,并导入到项目中,使用AS导入百度地图的依赖还是比较简单的。导入使用依赖有两种方法。 环境配置 方法 一、将下载好的文件解压后,直
2017-07-14 14:56:44 464
原创 Android之百度地图(一)申请秘钥
Android之百度地图(一)申请秘钥 最近在工作之余,想着自己拓展一下能力,看到现在的app应用都有使用到地图的功能,自己就去做一个简单的定位,搜索功能的demo。首先看下百度为我们提供的文档 ----官方文档。 根据文档,了解到首先需要一个百度账户,登录账号后,需要申请秘钥,这是很关键的一步,如果这一步出错,是无法使用百度地图提供的服务的。点击申请秘钥后会进入
2017-07-14 10:19:14 1110
原创 初识Retrofit
初识Retrofit 最近工作不是很紧急,就在相关的网站查看一些有吸引力的文章,学习新的技术来充实自己,看到很多关于Retrofit的文章,出去好奇,自己百度了一下相关的内容,原来Retrofit是一个网络请求的框架,之前也用过不少的网络框架,最近使用okhttp,感觉还不错,现在这个Retrofit看文章很不错,自己就来学习一下。 Android开发中要
2017-07-06 16:45:39 449
原创 Activity之间的数据问题
Activity之间的数据问题 最近在Android的微信支付这一模块,在支付成功后,会进入WXPayEntryActivity,这个活动中,但是有个问题,微信支付进入WXPEA 这个活动的时候不是使用startactivity()或者startActivityForResult()来实现的,而是通过支付成功后自动进入的,这就有一个问题,如果需要通过支付成功,还有后续的操作,
2017-07-04 15:46:02 322
原创 thinkPHP之SyntaxError:JSON.parse
thinkPHP之SyntaxError:JSON.parse 最近在学习php的thinkphp框架给自己充电,在网上找了一些视频去学习,还没学几天就遇到了一个问题,使用JQUERY做异步请求的时候,发现回调函数没有响应,开始以为是自己的代码写错了,检查了下,确认没有问题的情况下还是报错,然后我去百度了下,却没有找到解决的方法。最后用firebug调试结果显示的是:
2017-06-06 11:30:20 1050
原创 Android之下载与文件
Android之文件操作 我们在生活中对于文件还是比较了解,我们经常可以听到外部存储(external storage)和内部存储(internal storage)。要对 Android的文件做操作,首先要了解外部存储和内部存储的定义: 1.外部存储: 最容易混淆的是外部存储,如果说pc上也要区分出外部存储和
2017-06-02 15:46:24 489
转载 正则表达式知识详解
正则表达式知识详解一、什么是正则表达式?1.定义:正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串、将匹配的子串做替换或者从某个串中取出符合某个条件的子串等。构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、
2017-05-26 15:30:19 892
原创 正则表达式
正则表达式一、校验数字的表达式1 数字:^[0-9]*$2 n位的数字:^\d{n}$3 至少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5 零和非零开头的数字:^(0|[1-9][0-9]*)$6 非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7 带1-2位小数的正数或负数:^(\
2017-05-26 10:01:04 357
原创 android之单位
Android设备种类多样,要想适配好各种屏幕,理解各种屏幕数据是必须的。首先先从DisplayMetircs类聊起,DisplayMetircs类可以很方便的获取屏幕相关的信息,使用方法如下:DisplayMetrics metrics = new DisplayMetrics();getWindowManager().getDefaultDisplay().getMetrics(me
2017-05-17 10:41:43 349
原创 Android之RecycleView和CardView
Android之RecycleView和CardView 之前在学习php并且公司交代了一些后台的任务让我练习php的后台开发,这个星期又把app的一些问题做了解决升级,今天难得没有很多的任务就去看了下Android5.0之后的一些改变和新的控件自己学习下,看的很多介绍RecycleView和CardView,我自己就去看了下,一这篇文章来记录自己对上面的控件的使用心得。先来
2017-05-12 17:23:04 547
转载 android支付之支付宝
先给出可用demo吧 支付宝可用demo下载地址 前段时间公司项目需要集成支付宝支付,蚂蚁金服的文档和demo可以说是非常清晰的,经过一些时间的摸索,也是把支付宝支付集成到了项目中。不可缺少的是去蚂蚁金服申请产品签约,这些就不多说了,按照文档一步一步来,应该是没有什么问题的。我们会得到下面几个参数 // 商户PID public static final String PART
2017-05-10 14:13:52 323
转载 Android支付之微信支付
接入流程1.申请开发者资质地址:https://open.weixin.qq.com/使用公司管理者/高层帐号登录微信开放平台,进入“账号中心”,进行开发者资质认证,需要填写公司资料,包括但不限于,公司注册号,公司营业执照,公司对外办公电话,公司对公银行卡信息(卡号,发卡行)。审核时间为一周左右。 备注:因为从2015年10月1日起,国家实行三证(组织机构代码证,企业营
2017-05-10 10:43:36 384
转载 RxJava 2.0 使用详解
使用最基本的的使用我们知道一个简单的RxJava的应用,需要一个观察者或者订阅者Observer,一个被观察者Observable,最后调用subscribe()方法将两者绑定起来!示例://创建观察者或者订阅者Observer observer = new Observer() { @Override public void onSubscribe(Disp
2017-05-09 11:13:12 512
原创 微信公众后台开发之素材管理
微信公众后台开发之素材管理 最近应公司要求,对公司的微信公众号后台走升级,添加部分功能,其中就是需要在后台上传图片,而公众号回根据用户的按钮点击事件返回后台上传的图片。看着就是简单的需求,但是还是要先了解下微信开发文档,在来做开发微信开发文档。 看过文档后发现不是想象中的那么简单,这里涉及到三个系统的交互,一个是用户的收集,一个是自己的后台服务器,一个是微信服务器
2017-05-03 16:59:02 3231
原创 Android之collection(集合)
Android之collection(集合) ava Collections Framework是Java提供的对集合进行定义,操作,和管理的包含一组接口,类的体系结构。 Java集合框架的基本接口/类层次结构:java.util.Collection [I]+--java.util.List [I] +--java.util.Arr
2017-04-13 16:06:06 3618
原创 php学习之json And xml
php学习之json And xml 最近在学习php的相关知识,作为Android开发人员,我们与后台交互数据的时候接触的比较多的就是json格式的数据,同时也会接触一些xml类型的数据,对于json类型的数据我们是比较接受的,json类型的数据有工具类提供给我们解析获取数据,但是xml就会相比较麻烦些。处于好奇自己在学习php,今天正好学习到了php关于json的讲解
2017-04-13 15:24:15 779
原创 JavaScript之初识
JavaScript之初识 JavaScript 是一个脚本语言。它是一个轻量级,但功能强大的编程语言。 JavaScript有7个数据类型,分别是:字符串(string)、数字(number)、数组(array)、布尔(boolean)、对象(object)、空(null)、未定义(undifine)。 JavaScript 拥有动态类
2017-04-03 22:00:23 311
转载 yii框架之规则
yii框架之规则 最近在学习php的yii框架,看到模块(model)这个文件下需要对属性做规则限定,但是自己没有接触过,就去百度整理了一下自己看到的一些解释,可以提供自己以后学习开发使用。 预定义完整列表: boolean : CBooleanValidator 的别名, 确保属性的值是CBooleanValidator::trueValue 或C
2017-03-24 17:29:32 661
ubuntu 下 编译 ffmpeg for Android armv7-a armv8-a
2020-07-22
com.android.support:multidex。jar
2017-10-20
android studio 快捷键
2016-09-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人