• 编译 Android 版本的 Opus 音频编解码库的方法


    Opus 音频编解码库是 Speex 音频编解码库的下一代版本,从编解码性能以及质量上来讲都有了长足的进步。Opus 的编译非常简单,但是官方并未给出详细的 Android 版本编译指南,查找了大量资料,经过多次试验,总结了一套成功的方法,具体如下:

    1. 确保你的机器上安装有 android ndk,并下载最新的 opus 源代码。

    2. android ndk 因为包含了针对多个 android 系统版本(api level)的编译器工具链文件,但是并未直接提供一个具体可用的工具链,因此需要借助 ndk 生成一套编译器工具链,前提是你必须要指定该工具链所针对的具体 android 系统版本,这里以 api level 14(对应 android 4.0)为例,生成针对它的编译器工具链,使用如下命令:

    ~/android-ndk-r10e/build/tools/make-standalone-toolchain.sh --platform=android-14 --install-dir=/tmp/my_toolchain

    3. 定义环境变量,用于临时的编译,使用如下命令:

    export PATH=/tmp/my_toolchain/bin/:$PATH

    export CC=arm-linux-androideabi-gcc

    export CXX=arm-linux-androideabi-g++

    4. 配置并创建 opus 源代码的 Makefile 编译配置文件,使用如下命令:

    ./configure --host=arm-linux-androideabi

    5. 编译 opus 源代码并生成库文件,使用如下命令:

    make

    注意,make 命令将自动编译源代码并生成库文件(静态库及动态库),库文件位于 opus 源代码所在目录中的某个子目录内,可能该子目录名字以“.”开头,所以可以用 ls -a 命令来查看一下。因为这里我们编译的是 for android 的版本,所以我们不要再执行 make install 了。

  • 相关阅读:
    疯狂Java讲义-Java基础类库
    第十一届软件类校内模拟赛本科组Java软件开发
    疯狂Java讲义
    疯狂Java讲义-面向对象(下)
    疯狂Java讲义-面向对象(上)
    疯狂Java讲义-流程控制与数组
    疯狂Java讲义-数据类型和运算符
    数据结构-图和图遍历(DFS、BFS)
    A1034 Head of a Gang (30分)
    A1098 Insertion or Heap Sort (25分)
  • 原文地址:https://www.cnblogs.com/cyberniuniu/p/5036001.html
Copyright © 2020-2023  润新知