2. 在 Android 平台使用 AudioRecord 和 AudioTrack API 完成音频 PCM 数据的采集和播放,并实现读写音频 wav 文件
3. 在 Android 平台使用 Camera API 进行视频的采集,分别使用 SurfaceView、TextureView 来预览 Camera 数据,取到 NV21 的数据回调
4. 学习 Android 平台的 MediaExtractor 和 MediaMuxer API,知道如何解析和封装 mp4 文件
5. 学习 Android 平台 OpenGL ES API,了解 OpenGL 开发的基本流程,使用 OpenGL 绘制一个三角形
6. 学习 Android 平台 OpenGL ES API,学习纹理绘制,能够使用 OpenGL 显示一张图片
7. 学习 MediaCodec API,完成音频 AAC 硬编、硬解
8. 学习 MediaCodec API,完成视频 H.264 的硬编、硬解
9. 串联整个音视频录制流程,完成音视频的采集、编码、封包成 mp4 输出
10. 串联整个音视频播放流程,完成 mp4 的解析、音视频的解码、播放和渲染
11. 进一步学习 OpenGL,了解如何实现视频的剪裁、旋转、水印、滤镜,并学习 OpenGL 高级特性,如:VBO,VAO,FBO 等等
12. 学习 Android 图形图像架构,能够使用 GLSurfaceviw 绘制 Camera 预览画面
13. 深入研究音视频相关的网络协议,如 rtmp,hls,以及封包格式,如:flv,mp4
14. 深入学习一些音视频领域的开源项目,如 webrtc,ffmpeg,ijkplayer,librtmp 等等
15. 将 ffmpeg 库移植到 Android 平台,结合上面积累的经验,编写一款简易的音视频播放器
16. 将 x264 库移植到 Android 平台,结合上面积累的经验,完成视频数据 H264 软编功能
17. 将 librtmp 库移植到 Android 平台,结合上面积累的经验,完成 Android RTMP 推流功能
18. 上面积累的经验,做一款短视频 APP,完成如:断点拍摄、添加水印、本地转码、视频剪辑、视频拼接、MV 特效等功能
相信我,如果你认真把所有任务都完成了,你一定会成为音视频人才招聘市场的香饽饽~~如何才能更好地学好以上知识呢?下面正是要给大家分享小编花费86天整理的关于音视频开发入门到进阶,已整理成PDF文档:有需要完整版的可以点此处免费获取。
===================================================================
一 绘制图片
1. ImageView 绘制图片
2. SurfaceView 绘制图片
3. 自定义 View 绘制图片
二、AudioRecord API详解
三、使用 AudioRecord 实现录音,并生成wav
-
创建一个AudioRecord对象
-
初始化一个buffer
-
开始录音
-
创建一个数据流,一边从AudioRecord中读取声音数据到初始化的buffer,一边将buffer中数据导入数据流。
-
关闭数据流
-
停止录音
四、用 AudioTrack 播放PCM音频
1.AudioTrack 基本使用
-
MODE_STATIC模式
-
MODE_STREAM模式
2.AudioTrack 详解
-
音频流的类型
-
Buffer分配和Frame的概念
-
AudioTrack构造过程
3. AudioTrack 与 MediaPlayer 的对比
-
区别
-
联系
-
SoundPool
五、使用 Camera API 采集视频数据
1.预览 Camera 数据
2.取到 NV21 的数据回调
六、使用 MediaExtractor 和 MediaMuxer API 解析和封装 mp4 文件
1.MediaExtractor API介绍
2.MediaMuxer API介绍
3.使用情境
七. MediaCodec API 详解
1.MediaCodec 介绍
2.MediaCodec API 说明
3.MediaCodec 流控
-
流控基本概念
-
Android 硬编码流控
-
Android 流控策略选择
由于文章篇幅受限,剩余内容过多,文中插图有限,下文只能截图目录展示:
===================================================================
-
Android OpenGL ES 开发(一): OpenGL ES 介绍
-
Android OpenGL ES 开发(二): OpenGL ES 环境搭建
-
Android OpenGL ES 开发(三): OpenGL ES 定义形状
-
Android OpenGL ES 开发(四): OpenGL ES 绘制形状
-
Android OpenGL ES 开发(五): OpenGL ES 使用投影和相机视图
-
Android OpenGL ES 开发(六): OpenGL ES 添加运动效果
-
Android OpenGL ES 开发(七): OpenGL ES 响应触摸事件
-
Android OpenGL ES 开发(八): OpenGL ES 着色器语言GLSL
-
Android OpenGL ES 开发(九): OpenGL ES 纹理贴图
-
Android OpenGL ES 开发(十): 通过GLES20与着色器交互
-
使用 OpenGL 显示一张图片
-
GLSurfaceviw 绘制 Camera 预览画面及实现拍照
-
使用OpenGL ES 完成视频的录制,并实现视频水印效果
=================================================================
-
深入学习音视频编码,如H.264,AAC,研究使用开源编解码库,如x.264,JM 等
-
深入研究音视频相关的网络协议,如 rtmp,hls,以及封包格式,如:flv,mp4
-
深入学习一些音视频领域的开源项目,如 webrtc,ffmpeg,ijkplayer,librtmp 等等
-
将 ffmpeg 库移植到 Android 平台,结合上面积累的经验,编写一款简易的音视频播放器
-
将 x264 库移植到 Android 平台,结合上面积累的经验,完成视频数据 H264 软编功能
-
将 librtmp 库移植到 Android 平台,结合上面积累的经验,完成 Android RTMP 推流功能
音视频编解码技术
-
音视频编解码技术(一):MPEG-4/H.264 AVC 编解码标准
-
音视频编解码技术(二):AAC 音频编码技术
流媒体协议
-
流媒体协议(一):HLS 协议
-
流媒体协议(二):RTMP协议
多媒体文件格式
-
多媒体文件格式(一):MP4 格式
-
多媒体文件格式(二):FLV 格式
-
多媒体文件格式(三):M3U8 格式
-
多媒体文件格式(四):TS 格式
-
多媒体文件格式(五):PCM / WAV 格式
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
片转存中…(img-imWYLTim-1715844155926)]
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!