红色与青色

做记录,方便以后查找

android TabLayout自动轮播

TabLayout和单选框一样只能选中一个,有时候有需求就是自动轮播,自动切换,代码很简单 tabLayout.getTabAt(index).select(); 写个定时自动调用这行代码,index代表第几个 这样就不用那么麻烦的去写ViewPager了,跟点击效果一样的 ...

2019-05-21 18:07:14

阅读数 22

评论数 0

图片转svg

一个工具网站都屏蔽,啥毛病? 最近试了挺多工具和网站把图片转svg,有些android studio用不了,有些太麻烦了,还是www.vectorizer.io好用,方便简单,转换的效果也好,简单记录一些 ...

2019-05-20 17:53:08

阅读数 59

评论数 0

android TabLayout 的item设置间隔,设置下标线的圆角和长度

最近把appcompat-v7升级到28.0.0,发现TabLayout多了几个属性,就试了试,随便做下记录 TabLayout的item都是有默认间隔的就算修改tabPaddingStart和tabPaddingEnd也没有效果,要先设置tabMaxWidth和tabMinWidth才可以设置t...

2019-05-17 14:22:18

阅读数 45

评论数 0

Android使用MediaCodec和OpenGL对多段视频画面进行裁剪和拼接

太久没写博客了,由于工作,过年还有孩子出生搞得自己焦头烂额,现在有些时间了就搞点东西。发现浏览量突破10万了,也是挺高兴的,虽然很多东西写的不好,可也看到了自己的进步,也是前年到现在的累积。刚开始我只是学习视频解码,渲染和视频编码,慢慢的也开始搞音频了,本来没想过搞视频编辑这一块的,慢慢的做着做着...

2019-03-22 14:19:19

阅读数 155

评论数 0

android 通过egl实现Service运行Camera

所谓的后台可以是在Activity里打开Camera而不显示画面,也可以在Service内开启Camera,我主要写后者 Camera的开启必须要调用setPreviewTexture或setPreviewDisplay,二选一,所以想要在后台打开Camera就需要一个没有画面的SurfaceTe...

2018-12-27 15:15:57

阅读数 93

评论数 0

android opengl es 实现色调H,饱和度S,亮度L滤镜

在opengl es的glsl中把rgb转hsl或转hsv方法在网上很多,一搜一大把,找过来试了试,刚开始很头疼,色调H,饱和度S,亮度L最大值多少?叠加方法是加减还是乘除一头雾水。 通过这篇文章RGB颜色空间、色调、饱和度、亮度、HSV颜色空间详解,我有了大概的了解,然后就是在代码里一个一个的...

2018-11-27 16:03:23

阅读数 216

评论数 0

android 使用ImageReader+共享EGLContext把opengles渲染的图像转bitmap

使用ImageReader把opengles渲染的图像转bitmap以前也实现了,最近学了glRenderbufferStorageMultisample抗锯齿,就想结合起来看看,这是效果 感觉glRenderbufferStorageMultisample的抗锯齿效果也不咋样,是不是这样用...

2018-11-09 16:24:35

阅读数 315

评论数 0

android opengles 抗锯齿

抗锯齿,对opengles来说很简单,只要在配置egl环境的时候添加两行代码就搞定了 int confAttr[] = { EGL14.EGL_RED_SIZE, 8, EGL14.EGL_GREEN_SIZE, 8, EGL14.EGL_BLU...

2018-11-08 15:02:53

阅读数 271

评论数 0

android 硬解码用opengles3.0渲染视频

想着以后可能会遇到用opengles3.0来处理视频就想了解一下,结果发现网上没有多少这方面的东西,然后就自己摸索了 先来说说java端的写法,我这篇就是用java端opengles2.0写的android 简单的exoplayer全景播放器,然后我想改成3.0的,很简单,直接把GLES20改成...

2018-11-06 10:00:50

阅读数 290

评论数 0

android opengles2.0 硬解码时出现bindTextureImage: clearing GL error: 0x502

做硬解码用opengles2.0显示的时候总是出现这个提示,为什么出现完全没有头绪,直到我写新项目发现没有这个提示,然后对比代码发现错误原因 硬解码要先生成一个GLES11Ext.GL_TEXTURE_EXTERNAL_OES的纹理,再由这个纹理生成SurfaceTexture,通过Surfac...

2018-11-05 17:35:26

阅读数 550

评论数 1

android 使用selector+自定义view实现图片按钮点击放大缩小功能

先看效果,点击放大的 点击缩小 我看了下网上都是用onTouchEvent来实现的,我尽量不想写onTouchEvent内的代码,因为如果遇到手势冲突很折磨人,所以我就用selector里的state_pressed配合view的onDraw来实现这个功能 看过onDraw源码都知道,...

2018-11-05 13:23:14

阅读数 386

评论数 0

android opengles 实现翻牌效果

前一阵子通过android.graphics.Camera实现翻牌效果,看源码知道是3x3的矩阵,我就想opengles也可以实现,然后就开始动手了 首先设置初始矩阵 Matrix.perspectiveM(projectionMatrix, 0, 90f, 1, 1, 50); Matri...

2018-11-02 16:50:22

阅读数 309

评论数 0

android 简单的exoplayer全景播放器

全景播放器网上一搜也是一堆一堆的,还有google推出的vrsdk,所以也没啥好说的,就简单记录一下 实现全景主要用到的还是opengles,只要用的开源播放器有setSurface(Surface surface)这个函数,就可以不改播放器源码实现 原理很简单只要通过opengles生成个纹...

2018-11-02 14:54:56

阅读数 231

评论数 0

android 将opengles渲染线程嵌入到exoplayer解码线程内

根据项目需要实现这个功能,所以又开始改exoplayer源码了。我以前也改过修改ExoPlayer源码,获取帧时间,现在我要在这个的基础上进行修改 修改VideoTimeListener.java,添加新的回调函数 public interface VideoTimeListener { ...

2018-11-01 17:59:10

阅读数 97

评论数 0

android 翻牌效果

翻牌效果网上很多,一搜一大把,有各种实现方法,我就记录下我觉得简单效果好的方法,一个是属性动画ObjectAnimator实现,还有一个是android.graphics.Camera(不是拍照录像的Camera),我比较在意的是用Camera这个类实现的3d效果 网上的Camera例子基本都是用...

2018-10-25 14:44:51

阅读数 347

评论数 0

android 简单的圆弧

最近项目完成就开始搞一些有用没用的东西,以前面试的时候有人问我那种圆弧效果怎么做,还问我翻牌效果,我只看过,没有做过,现在有空了,而且想到可能会用到就做个简单的 圆弧很简单,自定义个View,创建个Paint,设置 arcPaint.setStyle(Paint.Style.STROKE)再设置圆...

2018-10-24 15:00:46

阅读数 259

评论数 0

android 使用MediaCodec和lamemp3对2段音频混音

看网上混音的例子挺多的,我也不啰嗦了,就简单说一下,混音同样要统一采样率,比特率和声道,还多一个统一时长 网上的例子都是用录音加背景音乐进行混音,这样很简单只要用背景音乐的采样率,比特率,声道和时长来进行录音就ok了,所以我也就不搞了 我这个功能其实挺鸡肋的,我也就是瞎搞搞,举一反三嘛 看网上混音...

2018-10-23 15:06:00

阅读数 148

评论数 0

android 使用MediaCodec和lamemp3对多段音频进行截取和拼接

截取很简单,只要用MediaCodec进行解码解出pcm格式的数据,再把pcm数据用MediaCodec进行编码或者用其他第三方的进行编码 拼接就比较麻烦,音频的音质会受到采样率,比特率和声道的影响,所以理想的状态是这三个属性要一样进行拼接才能保证音质 举个栗子,a和b是两首采样率,比特率和声道都...

2018-10-18 10:41:28

阅读数 364

评论数 0

android ByteBuffer.allocateDirect()造成OutOfMemoryError

最近用一个开源的控件,碰到ByteBuffer.allocateDirect()的时候OutOfMemoryError的问题,偶尔调用没问题,如果频繁的调用这个控件就会发生OutOfMemoryError,造成OutOfMemoryError的原因很简单ByteBuffer.allocateDir...

2018-10-11 13:18:33

阅读数 144

评论数 0

android studio AAPT2 error: check logs for details 错误

一直有这个错误,最简单的方法是在gradle.properties内加 android.enableAapt2=false 可是这个治标不治本,最近在打包中就出现这个错误,原因是图片是jpg的但是文件名是png的,可是却只有这个提示,根本找不到打包错误的原因,去网上找了,说gradle改成没...

2018-09-29 14:40:19

阅读数 105

评论数 0

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