作为一个Android程序员,关于音视频开发,这些你确定这些你都懂了吗?

本文介绍了Android高级开发中的音视频处理技术,包括AudioTrack、CameraAPI、MediaExtractor/MediaMuxer、MediaCodecAPI的应用,以及OpenGLES在图形渲染中的作用。此外,还探讨了FFmpeg在音视频编解码和流媒体协议中的重要性,以及职业发展建议,强调技术广度和深度对30-40岁开发者的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 关闭数据流

  • 停止录音

image

四、用 AudioTrack 播放PCM音频

1.AudioTrack 基本使用

  • MODE_STATIC模式

  • MODE_STREAM模式

2.AudioTrack 详解

  • 音频流的类型

  • Buffer分配和Frame的概念

  • AudioTrack构造过程

3. AudioTrack 与 MediaPlayer 的对比

  • 区别

  • 联系

  • SoundPool

image

五、使用 Camera API 采集视频数据

1.预览 Camera 数据

2.取到 NV21 的数据回调

六、使用 MediaExtractor 和 MediaMuxer API 解析和封装 mp4 文件

1.MediaExtractor API介绍

2.MediaMuxer API介绍

3.使用情境

image

七. MediaCodec API 详解

1.MediaCodec 介绍

2.MediaCodec API 说明

3.MediaCodec 流控

  • 流控基本概念

  • Android 硬编码流控

  • Android 流控策略选择

image

由于文章篇幅受限,剩余内容过多,文中插图有限,下文只能截图目录展示:

二,中级进阶篇:


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

image

高级探究篇:


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

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

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

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

img

img

img

img

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

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

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

最后

我见过很多技术leader在面试的时候,遇到处于迷茫期的大龄程序员,比面试官年龄都大。这些人有一些共同特征:可能工作了5、6年,还是每天重复给业务部门写代码,工作内容的重复性比较高,没有什么技术含量的工作。问到这些人的职业规划时,他们也没有太多想法。

其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。

不断奔跑,你就知道学习的意义所在!

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

职业规划时,他们也没有太多想法。

其实30岁到40岁是一个人职业发展的黄金阶段,一定要在业务范围内的扩张,技术广度和深度提升上有自己的计划,才有助于在职业发展上有持续的发展路径,而不至于停滞不前。

不断奔跑,你就知道学习的意义所在!

[外链图片转存中…(img-OKLsYtr6-1712370938370)]

[外链图片转存中…(img-RflVqaA5-1712370938370)]

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值