语音控制(speechcontrol)
范例简介
示范利用科大讯飞SDK,实现语音识别,并根据识别的内容进行地图缩放、导航、搜索等操作。
范例运行效果展示
图:语音控制范例运行效果 |
范例位置
Android Studio
- 产品包:产品包目录\SampleCode\SampleCode_AndroidStudio\AndroidStudioSampleCode\speechcontrol
- Github:https://github.com/SuperMap/iMobile-SampleCode/tree/master/AndroidStudioSampleCode/speechcontrol
范例数据
存储位置
- 产品包:产品包目录\SampleData\Beijing
- 网盘:链接:https://pan.baidu.com/s/1L-iQ3VM6s0SNS73T7fRgNQ,提取码:y3f1
部署位置:移动设备内部存储\SampleData\Beijing
许可方式
离线许可,将许可文件拷贝到"移动设备内部存储\SuperMap\License"文件夹下。
运行类库
jar包 |
---|
com.supermap.data.jar、com.supermap.mapping.jar、com.supermap.services.jar、com.supermap.navigation.jar、pinyin4j-2.5.1.jar、Msc.jar(讯飞) |
so库 |
libimb2d.so、libmsc.so(讯飞)、libgnustl_shared.so、libQt5Core.so、libQt5Gui.so、libQt5Svg.so、libQt5Widgets.so(注:11.1版本开始,需添加后五个so库。) |
讯飞语音库下载地址:https://www.xfyun.cn/sdk/dispatcher。运行本示例代码前,请先下载讯飞语音库,否则本示例无法正常运行。
关键类型/成员
控件/类 | 方法 |
---|---|
SpeechControl | getInstance()、setSpeechManager()、setContext()、setMapView()、setDatasourceName()、setDatasetName()、setGPSData()、setXName()、setYName()、setPOIName()、setPOIType()、setPOIRange()、setLocationDrawable()、setPOIDrawable()、setPOISelectedDrawable()、setStartPointDrawable()、setDestPointDrawable()、starNoSpeechtListening()、voiceCommand()、startListening() |
使用步骤
- 点击搜索框,直接输入文字命令。
- 点击【语音】图标,开始语音控制输入。
语音命令如下表:
功能 | 语音格式 | 举例 |
---|---|---|
定位 | 定位到"某地" "某地"在什么位置 "某地"在哪里 |
定位到故宫 故宫在什么位置 故宫在哪里 |
(定位到){我的位置/当前的位置/当前位置) 我在{哪儿/哪里/什么位置} |
我的位置 我在哪儿 |
|
导航 | (我想/怎么/我要)去"某地" 去"某地"(应该)怎么走 从"某地"到"某地"(应该)怎么走 从"某地"到"某地"的路线 |
去地坛公园 去地坛公园怎么走 从地坛公园到工人体育场怎么走 从地坛公园到工人体育场的路线 |
搜索 | (搜索/查找/查询)(附近/周边)的"某地" (附近/周边)的"某地" |
搜索附近的酒店 周边的酒店 |
地图 | 关闭第{}个地图 打开第{}个地图 |
关闭第1个地图 打开第2个地图 |
隐藏第{}个图层 显示第{}个图层 |
隐藏第6个图层 显示第3个图层 |
|
{编辑/选择/选中}第{}个图层: "设置图层风格为"颜色名"" |
编辑第3个图层:设置图层风格为黄色 |
|
上移(一点)地图、左移(一点)地图、右移(一点)地图、下移(一点)地图 |
上移地图 |
|
(向左、上、右、下)移动(一点)地图、(往左、上、右、下)移动(一点)地图 |
往左移动地图 |
|
放大、缩小(一点)地图 |
放大地图 |