自学内容网 自学内容网

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)!