webrtc的音频处理模块apm( audio processing)下载与编译出libwebrtc_audio_preprocessing.so

webrtc代码在android和chromium项目中都有。但是android中的那个带有Android.mk,稍微修改下就能用ndk-build编译出libwebrtc_audio_preprocessing.sogit clone https://android.googlesource.com/platform/external/webrtc更新cd webrtcwebrtc的音频处理模块apm( audio processing)下载与编译出libwebrtc_audio_preprocessing.soapm几个模块:NS(Noise Suppression 噪声抑制)、VAD(Voice Activity Detection 静音检测)、AECM(Acoustic Echo Canceller for Mobile 声学回声消除)AGC(Auto Gain Control 自动增益控制)刚开始目录:webrtc的音频处理模块apm( audio processing)下载与编译出libwebrtc_audio_preprocessing.so删除了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,TODOwebrtc的音频处理模块apm( audio processing)下载与编译出libwebrtc_audio_preprocessing.sotest目录删除,.git目录删除最终效果:webrtc的音频处理模块apm( audio processing)下载与编译出libwebrtc_audio_preprocessing.so发现在modules\audio_processing\test目录下有unit_test.ccndk-build编译,几乎很少改动。即可生成libwebrtc_audio_preprocessing.so===================================webrtc的音频处理模块apm( audio processing)下载与编译出libwebrtc_audio_preprocessing.so上面错误解决:需要将源代码放在一个叫jni的目录中。webrtc的音频处理模块apm( audio processing)下载与编译出libwebrtc_audio_preprocessing.so解决:webrtc的音频处理模块apm( audio processing)下载与编译出libwebrtc_audio_preprocessing.so#include

报错由于NDK默认使用最小C++运行时库进行项目的编译,导致无法编译WebRTC中使用诸如std::mapSTL容器的源码。因此我们需要自行设定适合本项目的C++运行时库gnustl_static解决:Application.mkAPP_ABI := armeabi-v7aAPP_STL := gnustl_staticAPP_PLATFORM :=21





webrtc的音频处理模块apm( audio processing)下载与编译出libwebrtc_audio_preprocessing.so版本问题,
好像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.webrtc的音频处理模块apm( audio processing)下载与编译出libwebrtc_audio_preprocessing.soundefined reference to 'WebRtcSpl_SqrtFloor'
这个函数在spl_sqrt_floor.c,在
webrtc\common_audio\signal_processing\Android.mk中的LOCAL_SRC_FILES加上spl_sqrt_floor.c \生成的sowebrtc的音频处理模块apm( audio processing)下载与编译出libwebrtc_audio_preprocessing.so附:Application.mkAndroid.mk参考:https://github.com/webrtc/samples原文链接: https://www.cnblogs.com/elesos/p/6128846.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/245050

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 上午12:34
下一篇 2023年2月14日 上午12:35

相关推荐