QQ:13498714
有个朋友在迅飞上申请了个app,想在Firemonkey上集成迅飞离线语音合成,说不会处理。
好安排!
迅飞会为创建应用的账号生成一个测试Demo, Demo是Android studio开发的,解压出来
首先看readme.txt:
1.使用demo测试时,需将res中除layout外资源拷贝到demo中assets相应的路径下;
2.使用带UI接口时,请将assets下文件拷贝到项目中;
3.文档说明请参考:http://doc.xfyun.cn/msc_android/;
4.在调用sdk时,请将res/layout下xml文件拷贝至工程的layout目录下,此文件为sdk内置ui所需,资源缺失会导致sdk部分功能无法使用;
注: 1. 由于更新优化更新,本次(1138)的libmsc.so库需与本次Msc.jar相匹配,使用之前的Msc.jar包可能会导致出错。
然后看一下文档官方说明 ,运行sample下的mscV5PlusDemo,大约知道怎么玩了:
代码层面:
1. 在AndroidManifest.template.xml文件中加入授权<uses-permission android:name="android.permission.RECORD_AUDIO"/>,
如果是10.3版本,需要动态添加授权。
1.首先根据AppID创建一个SpeechUtility对象(SpeechUtility..createUtility),
2.创建语音引擎对象SpeechSynthesizer(SpeechSynthesizer.createSynthesizer), 使用方法配置素材参数(发音人,发音资源,引擎类型等)(SetParameter),然后执行语音合成方法startSpeek
资源层面:
按readme.txt说明,配置libs库和assets库(注意要把demo下assets要一起弄到FMX下)。assets库里面有声音素材(好听的素材是要买的)
-----------------------------------------------------------分析线--------------------------------------------------------
现在开始Delphi代码处理:
1.首先使用JavaClassToDelphiUnit_FlyingWang.exe,转换Msc.jar库,工具下载地址:
2Pascal-新时代的Pascal-JarOrClass2Pas FlyingWang 1.0.2020.1116.27 附赠 java 转 Jar.zip - Powered by Discuz!
2. 根据上面描述的代码层面,创建对应的对象即可
3. 根据Demo抄写法,然后调用startspeak完成语音合成