/*================================================================ * * 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.5.2" #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 #define DDS_CLIENT_USER_EXTERNAL_WAKEUP 1002 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); int dds_client_trigger_intent(struct dds_client *ds, char *skill, char *task, char *intent, char *slots); /* * 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); /* * 声纹相关 */ char *dds_client_vprint_get_detail(struct dds_client *ds); int dds_client_vprint_regist(struct dds_client *ds, char *name); int dds_client_vprint_unregist(struct dds_client *ds, char *name); /* * 能量接口 */ int dds_client_energy_estimate(struct dds_client* ds, int second); /* * 设备端接口 */ int dds_client_upload_location(struct dds_client* ds, char *city); #ifdef __cplusplus } #endif #endif //DDS_CLIENT_H