自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (2)
  • 收藏
  • 关注

原创 Android运行时报错 Binary XML line #*,Error Inflating class ****

最近在写自定义布局中,编译通过,运行时却突然出现崩溃,错误日志如下:随即打开Xml文件第54行,这就是一个简单的SwitchButton,SwitchButton继承了FrameLayout,布局文件中加载了原生的Switch,如图:这是一种很常见的写法,照道理没有什么问题,然后我再查看my_switch文件,如下:就是一个常见的布局,怎么看也看不出来什么问题,然后我就一步步回退代码,刚好把Switch的id回退掉,运行时就正常了,难道加一个ID还会报错,再后来发现这两个布局

2020-05-28 10:02:56 426

原创 Android JNI 多.cpp,.c文件同时打包生成动态链接库

从Android支持JNI开始,越来越多的开发者使用jni开发,我们新建一个native工程时,android studio默认给工程生成了CmakeLists文件和简单的native-lib.cpp文件,CmakeLists文件下生成动态链接库的核心代码为add_library( # Sets the name of the library. native-lib # Sets the library as a shared library.

2020-05-15 15:38:14 1317

原创 Android颜色渐变的两种方式

在tab切换界面时,经常每个界面都会有一种主题颜色,这时,如果生硬的直接替换颜色,体验会比较差,所以这里记录一下颜色渐变的两种方式(还有其他方式欢迎补充)。方式1:将ARGB颜色拆分,获取颜色值,然后根据渐变程度计算当前的颜色,代码如下:/** * 根据其实颜色和渐变程度获取当前渐变色 * @param fraction 当前分值 0~1 * @param startColor...

2019-09-11 16:19:35 2193

原创 Ubuntu 16.04下交叉编译android Ffmpeg库,支持neon加速和硬解码。

环境1.Ubuntu 16.04(windows上安装的虚拟机)2.NDK版本,android-ndk-r14b下载Ffmpeg源码这里提供ffmpeg官网下载地址http://ffmpeg.org/download.html。可以直接下载压缩包解压或者直接用git下载,我目前下载的是ffmpeg3.4版本。git下载命令为:git clone https://git.ffm...

2019-07-25 17:14:49 1327

原创 Android 使用Ffmpeg播放高清视频(采用EGL/shader渲染,支持软硬件解码,断线重连),并接入OpenCv。

之前有篇博客简单写过如何用Ffmpeg解码视频流,当时只用软件码。后面通过项目历练及各种优化,加入了各种硬解码和软解码,并实现与openCv的对接,使其具有项目意义。在此之前,希望你又一些基础的JNI编程知识,比如配置CmakeList以及知道如何build。本文中重点主要有openGL shader渲染过程,Ffmpeg解码流程,JNI多线程以及如何回调数据到Java。第一步:编译Ffm...

2019-04-04 15:24:21 1820

原创 android 摄像头预览,横竖屏自由切换,解决拉伸问题。

public class Tracking extends AppCompatActivity implements SurfaceHolder.Callback,Camera.PreviewCallback{ Camera camera = null; SurfaceView camerasurface = null; Camera.Parameters parame...

2018-10-24 18:01:03 6628

转载 包名冲突

https://blog.csdn.net/qq_15988951/article/details/82461172

2018-10-10 17:26:21 309

原创 Android 通过JNI获取MAC地址(适配Android6.0及以上)

最近项目中遇到需要在C++层进行加密,然后编译成so。我们知道,MAC地址能够辨别设备的唯一性。所以有个需求就是需要在C++层获取MAC地址,这里我们就需要用到JNI编程了,话不多说,开始看看如何获取吧。在这之前,不要忘记添加权限<uses-permission android:name="android.permission.INTERNET" /><uses-permiss...

2018-07-16 11:58:19 3978 4

原创 android使用Ffmpeg JNI实时播放RTSP、RTMP等视频(主码流,子码流均能流畅播放)

前言:最近 公司项目需要在电视上 播放摄像头视频,而且可以随时切换流,延时要求在500ms以内,网上试过了 各种开源库 ,都不能达到要求。于是自己找到公司C++开发人员请教,最后终于完成,在此记录,也给有需求的小伙伴提供方案。第一步,添加ffmpeg的so库,网上有很多版本,后面我会在demo里面提供,然后这是我的CmakeList文件:# For more informati...

2018-04-27 13:50:07 9599 6

原创 Glide加载圆形图片(新版本4.0.0-RC1)

今天封装图片加载框架时,想使用Glide加载圆形图片,发现有几个坑,所以记录一下:Glide的使用方法,这个应该很熟悉了,如下:ImageView image;String url = "图片url地址";Glide.with(image.getContext()).load(url).into(image);但是我们加载圆形图片或者给图片设置参数时,需要用到RequestOptio

2017-07-13 17:03:24 10107

转载 2017Android百搭框架排行

2017Android百搭框架排行

2017-07-04 14:27:21 249

原创 Android 获取屏幕尺寸和popWindow的尺寸

网上看了很多 获取屏幕尺寸的方法,但是很多都过时了。现在这些参数都封装在一个Point中,在android.graphics包中,Point这个类继承了Parcelable接口。由此可见Point是独立出去的数据结构。直接看代码:WindowManager wm = (WindowManager) getActivity().getSystemService(Context.WIN

2016-08-22 14:57:04 2083

转载 Fragment的生命周周期

一,Fragment的生命周期          二,与Activity生命周期的对比     场景演示 : 切换到该Fragment11-29 14:26:35.095: D/AppListFragment(7649): onAttach11-29 14:26:35.095: D/AppListFragment(7649): onCreate11-

2016-05-26 10:18:09 285

原创 Eclipse中使用CDT,minGW配置google unitest(同时配置c/c++编译环境)

在网上看了关于很多配置google unittest的文章,发现很多文章说的都不准确或者太麻烦(也有很多文章这样说),最后,我发现用两步就能最简单的配置。Step1:下载minGW(这里不多说,要的就是简洁,注意有64位和32位),我下载后发现include文件里面没有c++文件夹,重新下载copy进去即可(我64位,Copy 32位的c++文件夹也能用),配置环境变量,PATH添加你文件路径

2015-11-25 09:25:19 352

Android Ffmpeg解码。

Android 使用Ffmpeg播放高清视频(采用EGL/shader渲染,支持软硬件解码,断线重连),并接入OpenCv。

2019-04-04

androidFfmpeg解码实时流

android 使用Ffmpeg 解码实时播放视频流,支持RTSP,RTMP,海康主码流高清画质,使用时,在startActivity中修改代码:startActivity(Intent(this@StartActivity, PlayVideoActivity::class.java))为startActivity(Intent(this@StartActivity, MainActivity::class.java))

2018-04-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除