转载请标明原创:https://blog.csdn.net/qq_29621351/article/details/94562600
在Android应用程序中采用NDK原生的OpenSLES进行声音的播放是一个不错的选择(由于在OpenSLES是在C++层播放,跟硬件比较接近所以效率高,采集和播放的延迟也比Android组件延迟小得多),如果说有什么缺点,就是接口比较复杂,而且只能播放原始音频数据(PCM格式)。
在NDK的 OpenSLES_AndroidConfiguration.h 头文件中包含了使用OpenSLES进行采集和渲染的预设选项,这些选项是Android针对具体的业务类型加入的一些采集和渲染上的优化,选项如下
/*---------------------------------------------------------------------------*/
/* Android AudioRecorder configuration */
/*---------------------------------------------------------------------------*/
/** Audio recording preset */
/** Audio recording preset key */
#define SL_ANDROID_KEY_RECORDING_PRESET ((const SLchar*) "androidRecordingPreset")
/** Audio recording preset values */
/