玩瞳文档中心


Demo示例

<h3>集成Demo流程图</h3> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/60000ba866951fb2cd30fa0c78d852a1?showdoc=.jpg" alt="Demo运行逻辑" title="Demo运行逻辑" /></p> <h3>一、Storybook实例化</h3> <p>``` c++ VTStoryBook *storybk = VTStoryBook::getInstance();</p> <pre><code> ### 二、实现接口类 在SDK中,每一个模块都设计了一个接口类,命名为VT\*.hpp。首先需要实现该类中的接口,这样才能让各模块实例化。 接口类定义了许多虚方法,需要开发人员自定义一个类来继承接口类,以实现各虚方法。 具体的接口类的定义及功能见各模块的文档。 ### 三、注册模块 当各接口类均实现后,就相当于有了不同功能的模块。接下来要使用VTStoryBook类中的registerXXX()函数将它们注册到APP中。例如: ``` c++ MediaPlayer *pPlayer = new MediaPlayer(); Camera *pCamera = new Camera(); storybk-&gt;registerVoiceMediaPlayer(pPlayer); storybk-&gt;registerCamera(pCamera); /* 以下省略 */</code></pre> <h3>四、Storybook开始运行</h3> <p>调用start()方法。 ``` c++ storybk-&gt;start();</p> <pre><code> ### 五、样例程序 ``` c++ int main(int argc, char const *argv[]) { //一、Storybook实例化 VTStoryBook *storybk = VTStoryBook::getInstance(); //二、接口类在其他文件实现,这里将它们实例化 RecognizeNotify *pRecogNotify = new RecognizeNotify(); DownloadNotify *dlNotify = new DownloadNotify(); InternetListener *pInternet = new InternetListener(); GKCamera *pCamera = new GKCamera(); GKMediaPlayer *pVoicePlayer = new GKMediaPlayer(); GKMediaPlayer *pSystemPlayer = new GKMediaPlayer(); //三、注册模块 //注册下载通知 storybk-&gt;registerDownloadNotify(dlNotify); //注册识别状态通知 storybk-&gt;registerRecognizeNotify(pRecogNotify); //注册相机 storybk-&gt;registerCamera(pCamera); //注册播放器 storybk-&gt;registerVoiceMediaPlayer(pVoicePlayer); storybk-&gt;registerSysMediaPlayer(pSystemPlayer); #if 1 //开启网络检测 pInternet-&gt;setListenerCallBack(storybk); pInternet-&gt;start(); #endif //四、Storybook开始运行 storybk-&gt;start(); while (1) { sleep(1); } //关绘本,结束运行 storybk-&gt;stop(); delete pVoicePlayer; delete pSystemPlayer; delete pCamera; delete pInternet; delete pRecogNotify; return 0; } </code></pre>

页面列表

ITEM_HTML