摘要:
音频焦点使用及原理 本博客代码基于Android 10源码 为什么会有音频焦点这一概念? 在Android音频领域中,应用层所有的App播放音频,最终都是走到音频回播线程PlaybackThread中,如果多个App都走到同一个PlaybackThread中去,就会出现混音情况,Android本身对 阅读全文
摘要:
Audio播放音频 — 建立播放通道 简介 虽然文章标题是《建立播放通道》,其实播放通道早在AudioPolicyManager解析configuration配置文件时,openoutput业务逻辑就已经把输出通道打开并建立好了,而播放音频流程就是根据音频属性Attribute来决定使用哪个输出通道 阅读全文
摘要:
android stduio CMake编译学习 简介 CMake编译配置比之前的Android.mk编译配置简单,功能更强大,话不多说,直接开始 开始 apk的编译都是从build.gradle配置开始的,我们需要在build.gradle里面配置好CMakeLists的位置,以及Cmake的编译 阅读全文
摘要:
android 源码部分API 本文记录博主在阅读android源码过程中底层部分API! sp<Surface> android_view_Surface_getSurface(JNIEnv* env, jobject surfaceObj) 参数:surfaceObj – java对象Surfa 阅读全文
摘要:
Retrofit源码解析 简介 从事移动端开发的人应该都知道Retrofit库,作为一个第三方网络封装库,许多App都会用到它,他提供了注解方式的网络接口定义,自定义请求响应参数转换等等功能,大大提高了开发效率;今天我们尝试着来看看它背后的逻辑好在哪里 Retrofit基本使用 public int 阅读全文
摘要:
Android Parcel浅析 简介 都说Parcel高效,android framework层大量使用Parcel,尤其是涉及Binder通信模块,大量的跨进程(IPC)通信,使用到Parcel进行数据传递,而且官方建议Bundle使用更换为Parcel,序列化方面也建议使用Parcelable 阅读全文
摘要:
算法题型浅谈 最大的几个数字问题 描述: 在许多数据中,找出最大的几个数字;而每次比较的容器(可装载数据长度)是有限的;如何快速找出 本质: 众多数据都需要依次进入有限容器进行比较,重点在于减少比较的次数或者说轮数,如何减少?分组比较,比较过的,已经有大小顺序的,将这些组的第一位或者前几位拿出来在比 阅读全文
摘要:
FFmpeg滤镜学习之AVFilter 什么是AVFilter? 对音视频数据添加特效,如黑白视频、混音,同时也可以完成音视频像素格式转码工作;官方特效说明请点击;一般使用filter都是在后台服务器对视频进行特效处理,移动端的话相对比较耗资源 AVFilter处理框架 大致框架如下图所示,可以把A 阅读全文
摘要:
你真的懂了Camera的尺寸参数了吗? 本文针对自定义相机开发中,使用opengl渲染时,引发的最终视图变形问题 开发相机的过程中,你是否遇到过你想要的是右边图效果,结果出来的却是左边图效果,如果你遇到了,本文你遇到的问题或许有帮助;引发上面的不同效果,就是因为一些列的尺寸所引发的问题。 自定义相机 阅读全文
摘要:
OpenGL特效记录 滤镜 - 加入阴影边框(阴影边框为透明白底) 原理:相机预览数据纹理和bitmap图片纹理点乘叠加;即两个图层叠加,颜色向量点乘效果;边框阴影中间透明色(1,1,1),点乘不影响相机颜色数据;边框会大于小于,点乘后值更小,颜色更深 //边框滤镜 precision medium 阅读全文