Android 音视频开发学习教程,从初级到高级、从理论到实战,简直完整的无可挑剔!

关于Android 音视频开发这块目前没有一个比较系统化的学习方案,网上的博客文章也都是比较零散的。只能通过一点点的学习和积累把这块的知识串联积累起来。
Android 音视频开发学习教程,从初级到高级、从理论到实战,简直完整的无可挑剔!_第1张图片

初级入门篇:

  • Android 音视频开发(一) : 通过三种方式绘制图片
  • Android 音视频开发(二):使用 AudioRecord 采集音频PCM并保存到文件
  • Android 音视频开发(三):使用 AudioTrack 播放PCM音频
  • Android 音视频开发(四):使用 Camera API 采集视频数据
  • Android 音视频开发(五):使用 MediaExtractor 和 MediaMuxer API 解析和封装 mp4 文件
  • Android 音视频开发(六): MediaCodec API 详解
  • Android 音视频开发(七): 音视频录制流程总结

初级入门篇主要是接触Android多媒体展示相关的API,通过单独的列举和使用这些API,对Android音视频处理有一个基本的轮廓,虽然知识点相对来说是比较散的,但是点成线,线称面,基本的基础掌握了,通过学习Android音视频核心的API将音视频的流程串联起来,这样对于音视频的了解和控制就不仅仅局限于最外层的API了,而是能够通过相对底层的方式来加深对Android 音视频开发的认知。

中级进阶篇:

OpenGL ES 学习记录

学习 Android 平台 OpenGL ES API,了解 OpenGL 开发的基本流程,使用 OpenGL 绘制基本图形,并了解相关的API的简单使用

  • 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 完成视频的录制,并实现视频水印效果

个人学习成果展示:

  • 音视频录制流程总结: https://github.com/renhui/AndroidRecorder
  • OpenGL ES 学习笔记:https://github.com/renhui/OpenGLES20Study
  • OpenGL音视频录制项目:https://github.com/renhui/OpenGLVideoRecord

OpenSL ES 学习记录

学习 Android 平台 OpenSL ES API,了解 OpenSL 开发的基本流程,使用OpenSL播放PCM数据,并了解相关API的简单使用

  • Android OpenSL ES 开发:Android OpenSL 介绍和开发流程说明
  • Android OpenSL ES 开发:使用 OpenSL 播放 PCM 数据
  • Android OpenSL ES 开发:Android OpenSL 录制 PCM 音频数据
  • Android OpenSL ES 开发:OpenSL ES利用SoundTouch实现PCM音频的变速和变调

高级探究篇:

  • 深入学习音视频编码,如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 格式

FFmpeg 学习记录

  • FFmpeg命令行工具学习(一):查看媒体文件头信息工具ffprobe

  • FFmpeg命令行工具学习(二):播放媒体文件的工具ffplay

  • FFmpeg命令行工具学习(三):媒体文件转换工具ffmpeg

  • FFmpeg命令行工具学习(四):FFmpeg 采集设备

  • FFmpeg命令行工具学习(五):FFmpeg 调整音视频播放速度

  • FFmpeg 学习(一):FFmpeg 简介

  • FFmpeg 学习(二):Mac下安装FFmpeg

  • FFmpeg 学习(三):将 FFmpeg 移植到 Android平台

  • FFmpeg 学习(四):FFmpeg API 介绍与通用 API 分析

  • FFmpeg 学习(五):FFmpeg 编解码 API 分析

  • FFmpeg 学习(六):FFmpeg 核心模块 libavformat 与 libavcodec 分析

  • FFmpeg 结构体学习(一): AVFormatContext 分析

  • FFmpeg 结构体学习(二): AVStream 分析

  • FFmpeg 结构体学习(三): AVPacket 分析

  • FFmpeg 结构体学习(四): AVFrame 分析

  • FFmpeg 结构体学习(五): AVCodec 分析

  • FFmpeg 结构体学习(六): AVCodecContext 分析

  • FFmpeg 结构体学习(七): AVIOContext 分析

  • FFmpeg 结构体学习(八):FFMPEG中重要结构体之间的关系

音视频开发开源库

GPUImage、IjkPlayer、librestreaming、RTMPDump、SoundTouch

学习展望

完成上面的学习后,可以尝试做一款音视频相关的APP,这个APP尽可能多的用上你学习的知识,看看能做到什么程度。如果你能很好的做出来,并认真的把上面列举的所有的点都完成和整理了,相信你在Android音视频领域会越走越好。

文末彩蛋

另外,现在马上就是“金九银十跳槽期”了,有不少朋友都在跃跃欲试了,对于程序员来说,要学习的知识内容、技术有太多太多难点,要想不被面试淘汰就只能提前做好复习规划、认真刷题,在学习中不断提升自己,个人建议在面试之前给自己做一次完整的知识梳理刷题是必不可少的。做知识梳理能加深你对原理的掌握程度,而刷题能提高你对技术面试的广度和深度。

请记住,从来都是只是我们去适应环境,而不是环境来适应我们!

附上我之前收集的二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总共计732页)。

需要①二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)+②Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总共计732页)的朋友————(此处免费打包领取)

腾讯Android面试真题(Java部分)

Android 音视频开发学习教程,从初级到高级、从理论到实战,简直完整的无可挑剔!_第2张图片

腾讯Android面试真题(Android部分)

Android 音视频开发学习教程,从初级到高级、从理论到实战,简直完整的无可挑剔!_第3张图片

一二线互联网公司Android面试真题分类总览

Android 音视频开发学习教程,从初级到高级、从理论到实战,简直完整的无可挑剔!_第4张图片
Android 音视频开发学习教程,从初级到高级、从理论到实战,简直完整的无可挑剔!_第5张图片
Android核心知识PDF

需要①二十套一二线互联网公司Android面试真题(含BAT、小米、华为、美团、滴滴)+②Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总共计732页)的朋友
————(此处免费打包领取)

你可能感兴趣的:(Android 音视频开发学习教程,从初级到高级、从理论到实战,简直完整的无可挑剔!)