/*================================================================ 
 | 
 * *   Copyright (C) 2018 AISpeech Ltd. All rights reserved. 
 | 
 * * 
 | 
 * *   文件名称:dds_client.h 
 | 
 * *   创建日期:2018年04月06日 
 | 
 * *   描    述: 
 | 
 * * 
 | 
 * ================================================================*/ 
 | 
  
 | 
  
 | 
#ifndef _DDS_CLIENT_H 
 | 
#define _DDS_CLIENT_H 
 | 
#ifdef __cplusplus 
 | 
extern "C" 
 | 
{ 
 | 
#endif 
 | 
  
 | 
#define DDS_CLIENT_VERSION           "DDS_CLIENT 0.2.1" 
 | 
  
 | 
#define DDS_CLIENT_TTS_ZHILING      "zhilingf"      // 甜美女神 
 | 
#define DDS_CLIENT_TTS_GDG          "gdgm"          // 沉稳纲叔 
 | 
#define DDS_CLIENT_TTS_GEYOU        "geyou"         // 淡定葛爷 
 | 
#define DDS_CLIENT_TTS_HYANIF       "hyanif"        // 邻家女声 
 | 
#define DDS_CLIENT_TTS_XIJUNM       "xijunm"        // 标准男声 
 | 
#define DDS_CLIENT_TTS_QIANRAN      "qianranf"      // 可爱童声 
 | 
#define DDS_CLIENT_TTS_LUCYF        "lucyf"         // 标准女声 
 | 
  
 | 
#define DDS_CLIENT_USER_EV_BASE                1000 
 | 
#define DDS_CLIENT_USER_DEVICE_MODE         1001 
 | 
  
 | 
struct dds_client; 
 | 
  
 | 
typedef void (*ddsLintener)(const char *topic, const char *topic_data, void *user); 
 | 
  
 | 
struct dds_client *dds_client_init (const char *config_json); 
 | 
  
 | 
int dds_client_start(struct dds_client *, ddsLintener cb, void *user); 
 | 
  
 | 
void dds_client_release(struct dds_client *); 
 | 
  
 | 
// 发送事件给 sdk 
 | 
int dds_client_publish(struct dds_client *ds, int ev, const char *data); 
 | 
  
 | 
/* 
 | 
 * 对 nativeAPI 命令做出查询回应的接口,其中 native_api_data_json 的格式如下: 
 | 
 * duiWidget 字段表示 dui 控件的类型,当前仅支持 "text"。 
 | 
 * extra 字段用于返回用户的数据。  
 | 
 * { 
 | 
 *  "duiWidget":"text", 
 | 
 *  "extra": { 
 | 
 *      "xx": "11" 
 | 
 *  } 
 | 
 * } 
 | 
 * 出错时返回值为 -1。 
 | 
 */ 
 | 
int dds_client_resp_nativeapi(struct dds_client *ds, const char *native_api, 
 | 
                                const char *native_api_data_json); 
 | 
/* 
 | 
 * 录音机接口 
 | 
 */ 
 | 
int dds_client_feed_audio(struct dds_client *ds, char *data, int len); 
 | 
  
 | 
/* 
 | 
 * 对话的接口 
 | 
 */ 
 | 
int dds_client_stop_dialog(struct dds_client *ds); 
 | 
  
 | 
/* 
 | 
 * tts 的相关接口 
 | 
 */ 
 | 
int dds_client_speak(struct dds_client *ds, const char *text); 
 | 
char *dds_client_get_speaker(struct dds_client *ds); 
 | 
float dds_client_get_speed(struct dds_client *ds); 
 | 
int dds_client_get_volume(struct dds_client *ds); 
 | 
  
 | 
int dds_client_set_speaker(struct dds_client *ds, char *speaker); 
 | 
int dds_client_set_speed(struct dds_client *ds, float speed); 
 | 
int dds_client_set_volume(struct dds_client *ds, int vol); 
 | 
  
 | 
/* 
 | 
 * 唤醒的相关设置 
 | 
 */ 
 | 
int dds_client_disable_wakeup(struct dds_client *ds); 
 | 
int dds_client_enable_wakeup(struct dds_client *ds); 
 | 
int dds_client_update_customword(struct dds_client *ds, const char *word); 
 | 
char* dds_client_get_wakeupwords(struct dds_client *ds); 
 | 
  
 | 
#ifdef __cplusplus 
 | 
} 
 | 
#endif 
 | 
#endif //DDS_CLIENT_H 
 |