我刚刚在 iOS 上完成它并且已经构建了 NS/VAD/AECM 和 AGC 的独立静态库,这里有一些提示给你,希望你成功:
1. 源文件列表
对于独立的 VAD 构建,您应该确保您的项目具有所有这些文件(不需要 .s 文件),并且我没有在header files
此处列出,您会遇到一些header file can not be found
错误,只需修复它就可以完成。)
webrtc_vad.c
vad_core.c
vad_filterbank.c
vad_gmm.c
vad_sp.c
real_fft.c
division_operations.c
complex_bit_reverse.c
cross_correlation.c
complex_fft.c
downsample_fast.c
vector_scaling_operations.c
get_scaling_square.c
energy.c
min_max_operations.c
spl_init.c
2.添加一个宏叫做 WEBRTC_MAC
我不确定为什么 Xcode 环境不提供这个宏,但应该定义它以确保WEBRTC_POSIX
启用它。要定义此宏,请将其添加到新的头文件中,或者只是在 webrtc-header-files 中定义它。
3. 按照这些步骤在 iOS 上构建和设置 WebRTC-VAD 模块的静态库
notice
, 不要使用 LLVM 2.0 编译 VAD 模块(使用 GCC 或 LLVM GCC)。cus' 在编译一些 webrtc 变量声明时,它可能会给您带来很多错误。
4. 使用 libwebrtc_vad.a
如果你走到这一步,事情就很容易了,只需包含webrtc_vad.h
并使用这个模块提供的 API。就我而言,vad 工作正常。
希望我有所帮助。