zoukankan      html  css  js  c++  java
  • webrtc的音频处理模块apm( audio processing)下载与编译出libwebrtc_audio_preprocessing.so

    webrtc代码在android和chromium项目中都有。但是android中的那个带有Android.mk,稍微修改下就能用ndk-build编译出libwebrtc_audio_preprocessing.so
    apm几个模块:
    NS(Noise Suppression 噪声抑制)、
    VAD(Voice Activity Detection 静音检测)、
    AECM(Acoustic Echo Canceller for Mobile 声学回声消除)
    AGC(Auto Gain Control 自动增益控制)
    刚开始目录:
    删除了modules下的audio_coding目录,并把src改名为webrtc了,当然同时得修改Android.mk中对audio_coding相关mk的引用,还要修改路径,原来是src,要改成webrtc.
    最后会生成libwebrtc_audio_coding.so,这个需要在Android.mk中修改。其中有个
    LOCAL_MODULE := libwebrtc_audio_coding
    把相关的删除,从
    include $(CLEAR_VARS)
    。。。。
    include $(BUILD_SHARED_LIBRARY)
    这个也可以通过上面一样的办法删除
    LOCAL_MODULE := libwebrtc_audio_coding_gnustl_static
    其它文件删除:MODULE_LICENSE_BSD, NOTICE,TODO
    test目录删除,.git目录删除
    最终效果:
    发现在modulesaudio_processing est目录下有unit_test.cc
    ndk-build编译,几乎很少改动。即可生成libwebrtc_audio_preprocessing.so
    ===================================
    上面错误解决:需要将源代码放在一个叫jni的目录中。
    解决:
    #include <map>报错
    由于 NDK 默认使用最小 C++ 运行时库进行项目的编译,导致无法编译 WebRTC 中使用诸如std::map 等 STL 容器的源码。因此我们需要自行设定适合本项目的 C++ 运行时库 gnustl_static
    解决:
    Application.mk
    APP_ABI := armeabi-v7a
    APP_STL := gnustl_static
    APP_PLATFORM :=21



    版本问题,

    好像webrtc对android的版本要求过高,至少要求2.3.1,所以从原来的2.2换成2.3.1即可

     解决办法:

    #APP_PLATFORM := android-8     //对应2.2

    APP_PLATFORM := android-9     //对应2.3.1
    #APP_STL := stlport_static 
    APP_STL := gnustl_static



    2.
    undefined reference to 'WebRtcSpl_SqrtFloor'

    这个函数在spl_sqrt_floor.c,在

    webrtccommon_audiosignal_processingAndroid.mk中的LOCAL_SRC_FILES加上
    spl_sqrt_floor.c
    生成的so
    附:
    Application.mkAndroid.mk
  • 相关阅读:
    HBase Flush 机制
    HBase 预分区 & Phoenix 加盐
    Phoenix 索引
    python 列表、元组、字典、集合的比较操作
    Redis HA
    基于 Redis 和 ZooKeeper 的分布式锁
    Ubuntu 系统设置 Swappiness 值
    Ubuntu_16.04 安装 Pyhon3.6
    Win10创意者更新秋季版升级常见问题解决方案
    如何使用注册表在Win10中调整屏幕亮度
  • 原文地址:https://www.cnblogs.com/elesos/p/6128846.html
Copyright © 2011-2022 走看看