作为一个Android程序员,精通音视频开发,寒冬再冷也冻不到你

本文介绍了Android开发中的高级技术,包括AudioRecord和AudioTrack的音频录制和播放,CameraAPI的视频采集,MediaExtractor/MediaMuxerAPI的mp4文件解析和封装,以及MediaCodecAPI的详细使用。此外,还探讨了OpenGLES图形处理和FFmpeg在音视频编码、协议与工具的运用。
摘要由CSDN通过智能技术生成

三、使用 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 格式

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中重要结构体之间的关系

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

最后

想要了解更多关于大厂面试的同学可以点赞支持一下,除此之外,我也分享一些优质资源,包括:Android学习PDF+架构视频+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

/img2.imgtp.com/2024/03/13/H4lCoPEF.jpg" />

最后

想要了解更多关于大厂面试的同学可以点赞支持一下,除此之外,我也分享一些优质资源,包括:Android学习PDF+架构视频+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 28
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值