音频的处理,通常会涉及到音调、音速或者声道的切换,例如睡觉时,开车时,跑步时,party,吃饭时等等根据不同场景我们也许会要求音乐能有不同的意境变化,强大的soundtouch音频开源库基于C++的底层算法处理,为我们应用层的开发者提供了非常便捷的调用接口。下面我们来一步步分析soundtouch的结构以及是如何使用的。
结构:
1.首先我们打开soundtouch源码,看到初始化so库的操作:
static {
System.loadLibrary("soundtouch");
}
那么soundtouch.so里是什么鬼?打开c++源码:
SoundTouch 类的声明包含在SoundTouch.h和SoundTouch.cpp之中,由FIFOProcessor类直接派生,而FIFOProcessor类又直接从基类FIFOSamplePipe派生。同时声明SoundTouch这个类包含在命名空间 soundtouch,这就是为什么我们使用这个库的时候需要声