• Android Media Framework - 开篇


    前言

    Android Media是一块非常庞大的内容,上到APP的书写,中到播放器的实现、封装格式的了解,下到编解码组件的封装、VPU API的了解,每块内容的学习都需要我们下很大的功夫。此外,我们还要对相关的模块进行了解,比如AudioFlinger、SurfaceFlinger等,他们与Media相关交织共同构建了Android多媒体平台。

    音视频开发的知识本就繁杂细碎,这些内容融入到Android框架中,对于初学者而言又复杂了些许。网上已经有很多优秀的文章解析了Android Media框架,笔者阅读这些文章收获了许多,但同样也有许多问题得不到解决。“纸上得来终觉浅,绝知此事要躬行”,笔者决定系统地学习Android Media框架,从去年开始潦草记录了几十篇学习笔记,学习过程中碰到了许许多多的问题,思考过后对Android Media框架也有了新的认识,再回过头来看,很多内容依旧是一知半解,很多理解也是“自以为是”。深思熟虑后,笔者决定重新思考整理,从全新的角度切入,力求能够更系统、更深入地理解Android Media框架,同时也会把思考以文章的形式整理出来,放在网上供读者参考。由于笔者水平有限,文章中难免存在错误,也请读者在顺着文章思路阅读的过程中保持审慎思考,如有错误欢迎指出。

    在之前的学习中,笔者的想法是从Framework API开始学习,按照调用的顺序一层一层向下揭开框架的面纱。但是在实际的学习过程中,笔者发现上层实现是紧紧依赖下层实现的,不理解下层就很难通透地理解上层。为了学地通体透亮,笔者这次将从底层开始解析,一层一层向外包裹,直至延伸到最外层的API。

    内容安排

    Android Media框架有非常多的模块,笔者将要学习的内容以框架的形式绘制出来,在这个合集中我们将自下而上学习:

    • Android OpenMAX框架

    • Android Codec2框架

    • MediaCodec

    • NuPlayer

    • MediaExtractor Service

    • MediaPlayerService

    • MediaPlayer API

    以上是精简的模块,我们要学习的远远不止上述内容,该合集将会包括例如OpenMAX框架会包含spec阅读、OMX IL Component实现,OMX IL Core实现、OMX IL Client等等,Codec2框架解析同样包含很多内容。由于内容多且广,工作繁忙,文章不会更新太快,尽量做到每篇文章都有所可读!

    最后还要再强调一下,由于笔者水平有限,文章中如存在错误,也请读者不吝赐教。

    关注公众号《青山渺渺》获取更多Android Media框架解析

  • 相关阅读:
    C语言结构体的一些鲜为人知的小秘密
    MapReduce入门实战
    使用navicat查看类型颜色
    MySQL分组查询
    Redis-分布式锁
    springboot最常用的注解们
    关于ETL的两种架构(ETL架构和ELT架构)
    ggVennDiagram--绘制简单美观不同调色板的韦恩图1
    SpringBoot接口 - 如何优雅的写Controller并统一异常处理?
    动态规划 DP 的一些笔记以及解题思路
  • 原文地址:https://www.cnblogs.com/rongmiao/p/18216730