通过阅读 GPUImage 的源码,能够让你掌握 OpenGL 的渲染以及渲染链的搭建,同时工程里面很多特效 Shader 代码,通过阅读和实践这些 Shader 代码,能够让你掌握初步的 Shader 编写能力。
比如常见的滤镜效果,在 GPUImage 就有现成的代码例子,这一点在我的直播中也有讲到。有兴趣的可以翻阅视频,掌握常见滤镜效果的代码编写。
如果需要 GPUImage 相关的源码分析文档,也可以参考我之前写过的一篇文章:
- AudioVideoRecordingSample
Github 地址
此项目的侧重点在于 Android 音视频相关 API 的使用,尤其是在 录制和编码方面的。
该项目运行后能够将 Camera 采集的视频和音频内容编码成一个 MP4 文件。
这其中用到了 MediaCodec 做编码,用到了 MediaMuxer 将音频和视频混合。
这样的一个完整示例对于掌握 Android 上音视频相关 API 帮忙非常大,因为它能够成功正确运行,而且可以通过去修改其源码来做自己的实验,验证自己对于 API 的理解和掌握。
当你能够熟练掌握其内容,或者你就可以试着更进一步,尝试用 FFmpeg 做音视频的编码和混合,实现和 Android 音视频 API 一样的功能。
- Grafika
Github 地址
此项目是 Google 提供的一个非官方的项目,它的侧重点在于将 OpenGL 与 Android 音视频 API 综合运用。
它包含了很多个完整小示例,比如如何使用 TextureView 显示 OpenGL 内容、使用三种方式进行 OpenGL 内容的录制、如何进行硬编码操作等。
通过阅读这些例子,能够让你掌握更多的技巧,把前面学会的 OpenGL 和 Android 音视频 API 更灵活运用了,进一步加深理解。
甚至有些例子都可以用到项目早期需求中去的,比如如何进行 EGL 的封装、渲染线程与主线程的分离。
另外,以上三个例子都会包含 Camera 相关的操作,比如如何将 Camera 内容展示到 SurfaceView 、TextureView 上,如何进行 Camera 拍摄等。
最后
之前这三个项目堪称教科学书级别的,不是没有理由的。至少我都源码阅读了两边以上。
第一次阅读的时候会觉得 " 嗯,明白怎么回事了 ",等到项目实践了,需要自己从头搞一遍,这时再回头看,会有新的感悟 “哦,原来要这样设计呀” ,等到更熟练的时候,在来看,可能就会觉得 “咦,这块能优化一波了”。
以上,希望对于想从事音视频开发的你,也能够看看上面几个项目源码,学习到更多技巧,共同进步。
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
最后
文章不易,如果大家喜欢这篇文章,或者对你有帮助希望大家多多点赞转发关注哦。文章会持续更新的。绝对干货!!!
- Android进阶学习全套手册
关于实战,我想每一个做开发的都有话要说,对于小白而言,缺乏实战经验是通病,那么除了在实际工作过程当中,我们如何去更了解实战方面的内容呢?实际上,我们很有必要去看一些实战相关的电子书。目前,我手头上整理到的电子书还算比较全面,HTTP、自定义view、c++、MVP、Android源码设计模式、Android开发艺术探索、Java并发编程的艺术、Android基于Glide的二次封装、Android内存优化——常见内存泄露及优化方案、.Java编程思想 (第4版)等高级技术都囊括其中。
-
Android高级架构师进阶知识体系图
关于视频这块,我也是自己搜集了一些,都按照Android学习路线做了一个分类。按照Android学习路线一共有八个模块,其中视频都有对应,就是为了帮助大家系统的学习。接下来看一下导图和对应系统视频吧!!!
-
Android对标阿里P7学习视频
- BATJ大厂Android高频面试题
这个题库内容是比较多的,除了一些流行的热门技术面试题,如Kotlin,数据库,Java虚拟机面试题,数组,Framework ,混合跨平台开发,等
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
全套讲解视频、实战项目源码讲义》点击传送门即可获取!**