C++11 智能指针之shared_ptr
1. 背景
基于Alexa的全链路智能语音SDK基于C++实现了跨平台特性,跑通了Android、Mac、Linux等设备,在兼容iOS时发现iOS未提供音频采集和播放的C++接口,所以需要改造SDK,允许SDK初始化时注入外部的采集器和播放器实现类,同时SDK中的Android播放器是基于ffmpeg解码 + opensl实现,但是考虑到包体积的问题,准备也基于这个接口在外部实现基于Android硬件解码的播放器。
2. 实现思路
在SDK内部定义了ExternalMediaPlayerInterface和ExternalMicrophoneInterface两个接口,初始化SDK时传入这两个对象:
int create_and_run_home_speech_core_engine(std::string& configFiles, \
std::string& configJsonData, \
std::shared_ptr<HomeSpeech::engine_result_t> engineResult, \
const std::string pathToKWDInputFolder = "", \
const std::string& logLevel = "",
std::shared_ptr<HomeSpeech::ExternalMicrophoneInterfa
原文地址:https://blog.csdn.net/sjw890821sjw/article/details/140617729
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!