1.新建项目 勾选c++ support

jni 学习-hello from ffmpeg

 然后新建jni 文件夹

2.配置build.gradle

jni 学习-hello from ffmpeg

3.将ffmpeg生成的so文件和头文件拷贝进项目

jni 学习-hello from ffmpeg

4.同步一下,报错,说不支持armbi 架构(ndk 17 以后没有这个架构了),但是现在很多so文件就只支持armbi,所以将ndk 的路径切换到15

jni 学习-hello from ffmpeg

5.编写cmakelist 文件,这里写完之后可能会报错,绝大部分是路径错误,改正后就好了。

jni 学习-hello from ffmpeg

6。在java 中加载so,并创建一个native 方法

jni 学习-hello from ffmpeg

 7.alt + enter 新创建的native 方法,生成c 方法,里面实现方法

jni 学习-hello from ffmpeg

      1)这里可能会编译出错,因为.cpp 是c++ 文件,所以要加 extern "c"

       2) 出现找不到 avcodec_configuration() 引用,要将 #include "libavcodec/avcodec.h" 加到c 模块里面

jni 学习-hello from ffmpeg

运行程序就好了。

 源码:https://github.com/neoex/HelloFromFFmpeg

相关文章:

  • 2021-04-15
  • 2022-12-23
  • 2021-08-22
  • 2021-05-09
  • 2021-06-04
  • 2022-02-23
  • 2022-01-25
猜你喜欢
  • 2021-05-05
  • 2022-12-23
  • 2021-06-16
  • 2022-12-23
  • 2021-07-31
  • 2021-10-05
  • 2021-12-18
相关资源
相似解决方案