C++11 智能指针之shared_ptr

ops/2024/9/25 19:22:37/

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

http://www.ppmy.cn/ops/86881.html

相关文章

gin路由组

Gin 框架的路由组&#xff08;Route Groups&#xff09;功能非常强大&#xff0c;它允许你将具有相同前缀或中间件的一组路由组织在一起&#xff0c;使代码更加清晰和模块化。下面是对 Gin 路由组的详细讲解。 1. 路由组的创建 你可以通过 Group 方法创建一个新的路由组。路由…

Leetcode49. 字母异位词分组(java实现)

今天我来给大家分享的是leetcode49的解题思路&#xff0c;题目描述如下 如果没有做过leetcode242题目的同学&#xff0c;可以先把它做了&#xff0c;会更好理解异位词的概念。 本道题的大题思路是&#xff1a; 首先遍历strs&#xff0c;然后统计每一个数组元素出现的次数&#…

express连接mysql

一、 安装express npm install express --save二、express配置 //引入 const express require("express"); //创建实例 const app express(); //启动服务 app.listen(8081, () > {console.log("http://localhost:8081"); });三、安装mysql npm i m…

【云原生】ReplicationController控制器详解

ReplicationController 文章目录 ReplicationController说明一、ReplicationControllere介绍二、ReplicationController如何工作三、运行一个ReplicationController四、编写一个ReplicationController清单注意事项4.1、Pod模板4.2、ReplicationController上的标签4.3、Pod选择算…

昇思MindSpore学习入门-自动混合精度

混合精度&#xff08;Mix Precision&#xff09;训练是指在训练时&#xff0c;对神经网络不同的运算采用不同的数值精度的运算策略。在神经网络运算中&#xff0c;部分运算对数值精度不敏感&#xff0c;此时使用较低精度可以达到明显的加速效果&#xff08;如conv、matmul等&am…

Python客户端操作Elasticsearch

一.Python与Elasticsearch交互示例 这段代码是使用Python的elasticsearch模块与Elasticsearch进行交互的示例&#xff1a; from elasticsearch import Elasticsearch# 一.创建连接 # 建立到Elasticsearch的连接&#xff0c;指定主机和端口&#xff0c;设置请求超时时间为3600…

Sklearn实例:水果多分类

机器学习五步&#xff1a; 加载数据集分割数据集建立模型训练模型预测模型 导入库文件 import numpy as np #科学计算库 import matplotlib.pyplot as plt #绘图库可视化函数 import pandas as pd #数据处理库&#xff0c;数据分析库 import seaborn as sns #高级数据可视化…

排序详解-第三篇 计数排序(非比较排序)及总结

1.计数排序 计数排序的思路为&#xff0c;遍历要求排序的数组&#xff0c;并且计数&#xff0c;遍历完成后&#xff0c;再遍历计数的数组&#xff0c;当不为0时,设k为当前数组的值&#xff0c;就在要排序数组前面依次覆盖计数数组下标k次。 但是这样做有缺陷&#xff0c;当排序…