美文网首页
安卓学习ndk必看!!!

安卓学习ndk必看!!!

作者: ftd黑马 | 来源:发表于2020-01-14 16:00 被阅读0次

    有些同学可能看了我之前的文章,知道我在做什么,如果有不明白的,我在这里解释下,其实我就是想在自己学习ndk开发的基础上,整理出自己的所学所想,分享出来,对和我一样有想在安卓开发进阶的路上取得提升的同学一点点帮助。
    我自己最终是要想要掌握ffmpeg的开发。ffmpeg是一款屌炸天到没朋友的开源框架,基本上可以处理一切的音视频领域,据我了解到的,所有的播放器都是基于ffmpeg的开发,如qq影音,暴风影音,时下最火的抖音,头条也是使用的ffmpeg进行音视频领域的开发。
    ffmpeg主要包括视频采集功能,视频格式转换,加水印等等十分强大的功能,各位可以直接百度一下ffmpge,看下百度百科里的介绍的比我详细的多的多,我这里就不说废话了。
    有的人可能蒙蔽了,会说我不是在写ndk学习吗,怎么扯到ffmpeg上了,实际上ndk开发就是使用安卓进行底层代码的调用,也就是android和c,c++的交互。对于我们安卓开发来说,学会了ffmpeg框架,基本上所有的ndk开发,都能顺心应手了。
    之后我写的文章可能会使很多人觉得乱七八糟,所以我这里需要提前描述下整套ffmpeg的开发流程,避免大家蒙蔽哈。

    我们首先需要直接在ffmpeg官网上下载ffmpeg源码,
    1.我们需要使用ndk交叉编译ffmpeg源码为静态库(.a)或者动态库(.so),静态库和动态库唯一的区别就是是否需要分享出去供给别人使用,所以我下面统称动态库,所以我们需要学习ndk的交叉编译。
    2.很多动态库的编译在windows上是无法编译的,只能在linux上编译,所以我们需要学习linux系统以及基本指令的学习。
    3.在linux系统中编译需要使用到shell脚本,所以我们也需要学习shell脚本语法。
    4.在linux上编译好动态库后,安卓需要使用jni去调用so库,jni调用实际上就是java和c,c++的交互语言,动态库都是c或者c++,ffmpeg源码全是c编写的,所以我们需要学习c语言,c++语言,jni语言等的学习。
    5.要学习音视频开发,还要了解到音视频编解码等的知识

    概述就是这样,以上文章仅是我个人学习目标和方法,如果有不对的地方,希望大家评论区指出,互相学习,互相进步!!!

    相关文章

      网友评论

          本文标题:安卓学习ndk必看!!!

          本文链接:https://www.haomeiwen.com/subject/dolaactx.html