Alexa
通州帝国
这个作者很懒,什么都没留下…
展开
-
Alexa SDK庖丁解牛-第一回:主程序结构
第一回:init()剖析main()主程序分为以下两个部分: 1)auto sampleApplication =alexaClientSDK::sampleApp::SampleApplication::create(pathToConfig, pathToInputFolder, logLevel); 2)sampleApplication->run();本章只介绍相关的初原创 2018-01-23 19:50:40 · 2900 阅读 · 3 评论 -
Alexa SDK庖丁解牛-第十回:SpeechSynthesizer模块分析
1.audio speak播放流程梳理:bool MediaPlayer::init() {if (false == gst_init_check(NULL, NULL, NULL)) {ACSDK_ERROR(LX("initPlayerFailed").d("reason", "gstInitCheckFailed"));return false;} if (!(m...原创 2018-10-14 23:02:57 · 910 阅读 · 0 评论 -
Alexa SDK庖丁解牛-第九回:connect server过程
1.class HTTP2Transport: public TransportInterface, public PostConnectObserverInterface, public PostConnectSendMessageInterface, public std::enable_shared_from_this<HTTP2Transport> {b...原创 2018-10-14 22:58:28 · 702 阅读 · 0 评论 -
Alexa SDK庖丁解牛-第八回:stream类型分析
stream获取一共有三种方式:1)本地stream流获取方式;2)URL 携带stream方式;3)通过URL获取流方式,此处分为3种情况:(1)m3u8形式获取;(2)pls形式获取;(3)其他形式switch(contentType)case:M3U_CONTENT_TYPE;case:PLS_CONTENT_TYPE;case:observer-...原创 2018-10-14 22:53:50 · 403 阅读 · 0 评论 -
Alexa SDK庖丁解牛-第七回:SpeechRecognizer模块分析
1.初始化m_audioInputProcessor = capabilityAgents::aip::AudioInputProcessor::create(m_directiveSequencer,m_connectionManager,contextManager,m_focusManager,m_dialogUXStateAggregator,exception...原创 2018-10-14 22:51:05 · 838 阅读 · 0 评论 -
Alexa SDK庖丁解牛-第六回:alerts模块分析
1.涉及到的所有指令:setting a timer, setting an alarm, setting a reminder or canceling a timer, alarm or reminder2.Alerts必须保证网络联通,client需要接收server端的指令,所有的alerts指令都是云端下发来完成设置的,不支持离线设置,设置成功后上报事件状态;但是设备在网络异常状...原创 2018-10-14 22:49:57 · 782 阅读 · 0 评论 -
Alexa SDK庖丁解牛-第五回:Speaker管理
本节我们介绍下alexa的speaker管理:引言:从代码逻辑看speaker相关的SetVolum、AdjustVolum和SetMute是不考虑扬声器的类型(audioSpeaker ,speakSpeaker ,alertsSpeaker ),指令是不区分操作对象的,但是speaker有LOCAL,AVS_SYNCED之分,所有的指令只处理AVS_SYNCED类型的speaker,并把状态更...原创 2018-03-15 08:18:56 · 1187 阅读 · 0 评论 -
Alexa SDK庖丁解牛-第四回:唤醒词流程
本次介绍alexa唤醒词模块:1)使用portaudio库来管理音频采集、音频存储,音频采集后通过回调函数存储到共享内存模块sharedDataStream:std::shared_ptr micWrapper =alexaClientSDK::sampleApp::PortAudioMicrophoneWrapper::create(sharedDataStream);2)初始化原创 2018-01-26 11:23:03 · 3214 阅读 · 10 评论 -
ALexa SDK庖丁解牛-第三回:run函数之client与server交互过程
在第二回我们介绍了run()函数,但是内容比较分散,我又重新整理了一下流程:HTTP2主线程,writeCallback回调,DirectiveSequencer主线程,gstreameronBusMessage之间的交互,即一次client向server发送请求,server返回请求,client处理response过程:1)按键触发、或者唤醒词唤醒触发request请求,详见一、二;原创 2018-01-24 15:30:49 · 1944 阅读 · 1 评论 -
Alexa SDK庖丁解牛-第二回:run函数解析
这回我们重点介绍下main中的void UserInputManager::run(){void InteractionManager::tap()}在此我们首先看下tap事件处理:std::future AudioInputProcessor::recognize()======》bool AudioInputProcessor::executeRecognize原创 2018-01-23 20:04:13 · 1132 阅读 · 0 评论 -
Alexa SDK庖丁解牛-第十一回:HTTP2消息分析
一、ContextManager线程通过sendContextToRequesters()触发http2线程向服务器发送request???sendContextToRequesters(){}void AVSConnectionManager::sendMessage(std::shared_ptr<avsCommon::avs::MessageRequest> re...原创 2018-10-14 23:03:51 · 597 阅读 · 1 评论