UE4 集成讯飞听写插件

搞了几天,有些坑记录一下。

3个方面的知识需要学习

1、制作UE4插件

2、引入第三方库

3、讯飞听写的api

 一看是参考 https://blog.csdn.net/u012793104/article/details/78067937

http://doc.xfyun.cn/msc_windows/%E8%AF%AD%E9%9F%B3%E5%90%AC%E5%86%99.html

API:http://mscdoc.xfyun.cn/windows/api/iFlytekMSCReferenceManual/qisr_8h.html 

 


整个插件架构:录音 ->识别(讯飞语音听写,即上图架构)->本地转码 以显示

 主要需要了解的API:  QISRSessionBegin  需要你更改自己的参数,可以按照下载的案例改

QISRAudioWrite: 搞懂这个才能明白整个讯飞识别功能的机制

开发过程主要的问题表现为打印信息有时并不是中文,而是未转换的拼接字符串

所以好好看了看 下载的案例,和API 经过不断调试才发现就是json的问题

之前的代码 都是拼接所有 从 QISRGetResult获得的结果,然后最后一步转换,所以出现问题了.

 比如录入"床前明月光"

{"sn":1,
"ls":false,
"bg":0,
"ed":0,
"ws":
[
{"bg":1,"cw":[{"sc":0.0,"w":"床"}]},
{"bg":1,"cw":[{"sc":0.0,"w":"前"}]},
{"bg":1,"cw":[{"sc":0.0,"w":"明"}]},
{"bg":1,"cw":[{"sc":0.0,"w":"月光"}]}
]
}
{"sn":2,"ls":true,"bg":0,"ed":0,
"ws":
[{"bg":0,"cw":[{"sc":0.0,"w":"。"}]}]
}

如果结果为上面,则无法转换json以致原样输出,因为这是直接将两个json对象拼接了。

{"sn":1,
"ls":false,
"bg":0,
"ed":0,
"ws":
[
{"bg":1,"cw":[{"sc":0.0,"w":"床"}]},
{"bg":1,"cw":[{"sc":0.0,"w":"前"}]},
{"bg":1,"cw":[{"sc":0.0,"w":"明"}]},
{"bg":1,"cw":[{"sc":0.0,"w":"月光"}]}
]
}

这种情况就会成功输出中文。

所以问题是 我获得的结果有时被加了一个句号,我想着应该是语法的缘故。

所以我换了一个方法,先解析再拼接 解决了问题。

 ----

ps:测试要时刻注意麦克风是否正常·,别搞自己

下载地址:

github:https://github.com/huzhongyidihao/XFPlugin

 

转载于:https://www.cnblogs.com/yuedongdeguangzi/p/9196957.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266868.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c51单片机有几个终端语言,吃过大亏,才知道要从51单片机入手

原标题:吃过大亏,才知道要从51单片机入手在这里,我就不说什么是单片机了,而是说说怎样学单片机,就我个人而言先学51,因为这个单片机在中国市场上发展了几十年了,现在工程中用的比较多的也是MCS-51, 它的资料…

医疗项目中对网编的一些理解看法

医疗项目中对网编的一些理解看法。做网络营销都有一个前提,那就是以用户为中心,站在用户的角度考 虑问题。在网络营销中,网编如何提升充实自己?怎么获得信息渠道?见多:多看,多了解行业的变化&am…

android 自定义view画表格,Android自定义View实现课程表表格

自己闲下来时间写的一个课表控件,使用的自定义LinearLayout,里面View都是用代码实现的,最终效果如下图,写的可能有问题希望多多指点创建一个自定义LinearLayout 控件用来装载课程的信息和课程的周数,和节数大概的布局三…

26.中继器数据的添加与删除

选择中继器里面的数据集再选择增加行 勾上之后选择下方的增加行就可以填入数据了 用变量获取用户输入的各项内容 但是图片不能用公式操作 方法:通过右键单击图片获得图片的地址 图片中蓝色的部分就是相对路径 把这个路径放到中继器的数据里就可以用了 以上是添加&am…

android工作机制和内核,android内核剖析学习笔记:AMS(ActivityManagerService)内部原理和工作机制...

一、ActivityManagerService提供的主要功能:(1)统一调度各应用程序的Activity(2)内存管理(3)进程管理二、启动一个Activity的方式有以下几种:(1)在应用程序中调用startActivity启动指定的Activity(2)在Home程序中单击一个应用图标,启动新的Ac…

从.Net到Java学习第四篇——spring boot+redis

从.Net到Java学习系列目录 “学习java已经十天,有时也怀念当初.net的经典,让这语言将你我相连,怀念你......”接上一篇,本篇使用到的框架redis、FastJSON。 环境准备 安装redis,下图是我本机的redis绿色版,…

hdu 4409 Family Name List LCA +stl

http://acm.hdu.edu.cn/showproblem.php?pid4409 赛后才过只能说悲剧了,知道思路,stl不熟悉,所以导致写的很慢....占据了很多时间,手速代码准确度。。哎。。。 题意: 给你一个家谱,n个人的姓名&#xff0c…

mysql杂记

1、 mysql安装完成后需要将mysql里面的bin目录加到环境变量里之后,才能在cmd窗口里使用mysql命令 2、 在CMD命令窗口敲入命令 mysql -hlocalhost -uroot -ppassword进入mysql数据库 这里我的用户名是root,密码是123456 转载于:https://www.cnblogs.com/y…

vue created 生命周期

在实例创建完成后被立即调用。在这一步,实例已完成以下的配置:数据观测 (data observer),属性和方法的运算,watch/event 事件回调。然而,挂载阶段还没开始,$el属性目前不可见。 methods、data、watch等可以…

android cne服务,Android内存优化-了解内存篇

查看系统内存文件shellaries:/ $ cat /proc/meminfoMemTotal: 1970216 kBMemFree: 83756 kBBuffers: 156020 kBCached: 702516 kBSwapCached: 0 kBActive: 1160284 kBInactive: 397932 kBActive(anon): 778932 kBInactive(anon): 2228 kBActive(file): 381352 kBInactive(file)…

Shell中的特殊字符

通配符 当需要用命令处理一组文件,例如file1.txt、file2.txt、file3.txt……,用 户不必一一输入文件名,可以使用Shell通配符。Shell命令的通配符含义如下表 引号 在 Shell 中引号分为 2 种:单引号、双引号。 ( 1 &…

android的帧布局,七、Android帧布局FrameLayout和霓虹灯效果

帧布局容器为每个加入其中的组件创建一个空白的区域(称为一帧),所有每个子组件占据一帧,这些帧都会根据gravity属性执行自动对齐。FrameLayout的常用XML属性和相关方法XML属性相关方法说  明android:foregroundsetForeground(Drawable)设置该帧布局容器…

flutter能开发游戏吗_Steam上架游戏开发软件,不用代码也能制作游戏,而且还是免费的...

时代在变化,科技在进步,曾几何时我们一度以为的高科技,在现在看来也不过是平常到不能再平常的东西。游戏开发也一样,以前需要代码才能开发制作而成,现如今都不需要了,直接编辑就OK,Steam商城这次…

快速构建Windows 8风格应用10-设备方向

本篇博文主要介绍常用支持Windows 8操作系统设备的方向、如何获取当前设备方向、DisplayProperties类 常用支持Windows 8操作系统设备的方向在我们常用的设备当中,Windows 8是通过什么来监控设备方向呢?答案是方向传感器,那么对于设备的不同方…

CSDN怎么转载别人的博客

参考:CSDN怎么转载别人的博客 作者:zhongjianblackberry 发布时间:2018-03-06 11:57:59 网址:https://blog.csdn.net/zhongjianblackberry/article/details/79456338 目录转载CSDN博客步骤:Markdown和HTML相关小知识Ma…

青岛西海岸惠普大数据_青岛西海岸新区用好卫星大数据 为城市治理全面赋能...

来源:环球网为推进城市治理数字化程度,提升城市治理的智能化和精细化水平,青岛西海岸新区搭建了人工智能搜索视觉分析平台,以月度更新的频率,汇聚了新区0.5米高分辨率卫星影像数据,通过数据资源共享系统为各…

总结jenkins Android自动打包遇到的坑

一、ndk-build报错 [roothejianlai-jenkins LearnGradle]# ndk-build /usr/local/android-ndk-r8/ndk-build: /usr/local/android-ndk-r8/prebuilt/linux-x86/bin/make: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory 解决方法:安装glibc.i6…

android的热修复,Android热修复原理

热修复框架技术主要有三类,代码修复,资源修复,动态链接库修复。资源修复很多资源修复的框架参考了Instant Run资源修复的原理,所以先了解一下Instant RunInstant RunInstant Run是Android Studio 2.0以后新增的一个运行机制&#…

树莓派的四种登陆方式

参考:树莓派的4种登陆方式 作者:丶PURSUING 发布时间:2021-02-02 09:15:30 网址:https://blog.csdn.net/weixin_44742824/article/details/113524929?spm1001.2014.3001.5502 目录一、HDMI视频线二、串口1.修改sd卡中的系统文件2…

丰收互联蓝牙key怎么开机_ublox收购Rigado的蓝牙模块业务,扩大蓝牙低功耗产品组合...

全球领先的定位与无线通讯技术供应商u-blox 宣布,已与 Rigado签署资产购买协议,收购其蓝牙模块业务。Rigado是商业物联网Edge-as-a-Service(EaaS)边缘即服务网关解决方案的领先供应商,于2015年开始提供通过认证的无线模块。强化蓝牙产品系列此…