热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Cordova插件(语音识别--科大讯飞)

cordova-plugin-IFlyspeech科大讯飞的语音听说读写的cordova插件最近在做一个hybridwebapp的时候需要用到语音识别的功能,网上找到科大讯

cordova-plugin-IFlyspeech

科大讯飞的语音听说读写的cordova插件

最近在做一个hybrid webapp的时候需要用到语音识别的功能,网上找到科大讯飞的语音cordova插件,因为还没开始使用这个插件,先总结一下在配置科大讯飞当前cordova版本过程中,碰到的问题。

网上插件配置的教程很多,也综合下自己的总结:

1. 插件安装命令:

cordova plugin add https://github.com/Edc-zhang/cordova-plugin-IFlyspeech
(注意:建议不要使用上面的命令安装插件,因为需要手动去改插件里面的appid和sdk包, 所以先手动下载zip包到本地,需要修改一些配置文件,添加科大讯飞的appid)

这里写图片描述

2. 登录科大讯飞开放平台:
要使用科大讯飞的cordova插件,需要:

1、在科大讯飞开放平台官网:http://www.xfyun.cn/ 注册帐号登录,进入控制台,创建新应用(注意ios、android是需要分别创建应用的,也就是分别有一个对应的appid,我这里只是创建了一个android的应用,要在iOS中使用需要再创建一个iOS的应用)

这里写图片描述

这里写图片描述

2、添加所需要的新服务,我这里是语音听写服务。

未经过审核情况下, 每个appid每天有500次识别的限额,建议提交app给讯飞审核,审核通过后每天有20000次的限额,审核基本都会通过。

3、完成以上操作后,下载ios、android不同版本的sdk到本地。

一、解压之前在github上面下载的zip包,分别找到

ios目录:cordova-plugin-IFlyspeech-master/src/ios
android目录:cordova-plugin-IFlyspeech-master/src/android/libs
然后将讯飞上面下载的sdk ios路径:lib/iflyMSC.framework
android路径:libs分别替换到github插件解压的文件夹里面

二、替换插件文件夹里面的appid

1、Android:修改
cordova-plugin-IFlyspeech-master/plugin.xml文 件内容,
搜索【android:name=”IFLYTEK_APPKEY”】,
将对应的android:value=”改为申请的android版本的appid”

2、Android:修改
cordova-plugin-IFlyspeech-master/src/android/res/values/strings.xml文件内容
搜索【app_id】将对应的值改为申请的android版本的appid

3、ios:修改
cordova-plugin-IFlyspeech-master/src/ios/CDVSpeech.m文件内容
搜索【#define SPEECH_APP_ID】,将对应的值改为申请的ios版本的appid

完成后再执行cordova添加插件命令即可: cordova plugin add
插件(cordova-plugin-IFlyspeech-master)本地路径

(注意:这里添加本地插件时可能会出错,下面列举下我添加本地插件时碰到的问题及解决方法:)

添加本地插件时可能出现的错误:
1. 添加cordova plugin add (插件路径的时候),出现:

Error: Invalid package.json (XXX插件的路径) needs a valid package.json.

这里的意思是说,插件目录里面缺少一个package.json文件。
看了网上创建自定义插件的方法,可以创建package.json 文件

一、安装plumam

npm isntall -g plugman 

二、安装完之后,就可以创建plugin

plugman create --name  --plugin_id  --plugin_version  [--path ] [--variable NAME=VALUE]

参数说明:

pluginName: 插件名称,eg:toast

pluginID: 插件id, eg: org.my.toast version: 版本号, eg: 0.0.1 variable NAME=VALUE: 扩展参数,如说明或者作者

eg:

创建插件

plugman create –name helloPlugin –plugin_id helloPlugin
–plugin_version 0.0.1

此命令会在当前目录创建一个helloPlugin插件

进入插件目录

cd helloPlugin

plugin.xml

增加Android平台plugman platform add  --platform_name android

plugin.xml

增加iOS平台plugman platform add --platform_name ios

在有plugin.xml的目录里面,命令创建package.json文件
plugman createpackage.json
(然而这里创建的packa.json文件并没有解决报错问题)

三、当你的插件开发完成之后,添加到项目中

只需向平常添加插件的时候一样在控制台跳转到你的项目目录中,再运行如下命令:(add 后面为插件所在目录)

cordova plugin add (插件所在的目录)

四、其他命令

删除插件:

cordova plugin remove XXXXX(你的plugin_id)。

______________________________________________________________________________________

最后还是在Google找到了解决方案,出现 Error: Invalid package.json (XXX插件的路径) needs a valid package.json.的原因是当前cordova的版本过高,是cordova7.0版本,但是该插件需要的cordova版本是cordova6.0版本,所有需要给cordova版本降级。

npm install -g cordova@6

降级后重新添加android/iOS platform ,以及指定对应的安卓版本android@6.1.2

cordova platform rm android
cordova platform add android@6.1.2

重新添加本地的插件
在项目目录下:

cordova plugin add (本地插件的目录)

成功添加和安装上插件


现在可以开始调用插件进行语音识别:

//参数1: 成功回调方法
//参数2:失败回调方法(ios没有失败回调方法)
//参数3: 是否显示对话框,默认true
//参数4:是否生成标点符号 ,默认true
xunfeiListenSpeaking.startListen(function(data){
//data即是返回的文字
},null,true,true);

参考网页资料

http://www.cnblogs.com/dinglinjie/p/7458548.html
http://www.cnblogs.com/LVBingo/p/6865978.html
http://www.cnblogs.com/li-you/p/6672111.html
https://github.com/Cloudoki/ImageDetectionCordovaPlugin/issues/11


推荐阅读
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 自动轮播,反转播放的ViewPagerAdapter的使用方法和效果展示
    本文介绍了如何使用自动轮播、反转播放的ViewPagerAdapter,并展示了其效果。该ViewPagerAdapter支持无限循环、触摸暂停、切换缩放等功能。同时提供了使用GIF.gif的示例和github地址。通过LoopFragmentPagerAdapter类的getActualCount、getActualItem和getActualPagerTitle方法可以实现自定义的循环效果和标题展示。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • Android系统移植与调试之如何修改Android设备状态条上音量加减键在横竖屏切换的时候的显示于隐藏
    本文介绍了如何修改Android设备状态条上音量加减键在横竖屏切换时的显示与隐藏。通过修改系统文件system_bar.xml实现了该功能,并分享了解决思路和经验。 ... [详细]
  • r2dbc配置多数据源
    R2dbc配置多数据源问题根据官网配置r2dbc连接mysql多数据源所遇到的问题pom配置可以参考官网,不过我这样配置会报错我并没有这样配置将以下内容添加到pom.xml文件d ... [详细]
  • 本文讨论了如何使用Web.Config进行自定义配置节的配置转换。作者提到,他将msbuild设置为详细模式,但转换却忽略了带有替换转换的自定义部分的存在。 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • iOS超签签名服务器搭建及其优劣势
    本文介绍了搭建iOS超签签名服务器的原因和优势,包括不掉签、用户可以直接安装不需要信任、体验好等。同时也提到了超签的劣势,即一个证书只能安装100个,成本较高。文章还详细介绍了超签的实现原理,包括用户请求服务器安装mobileconfig文件、服务器调用苹果接口添加udid等步骤。最后,还提到了生成mobileconfig文件和导出AppleWorldwideDeveloperRelationsCertificationAuthority证书的方法。 ... [详细]
author-avatar
卢培伟
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有