当前位置: 首页 > news >正文

兰州高端网站合肥中小企业网站制作

兰州高端网站,合肥中小企业网站制作,网上注册公司核名流程,如何创建外卖网站前言 Android开发的同学都知道#xff0c;在Android当中#xff0c;实现一段文字合成语音播放#xff0c;可以使用系统提供的对象TextToSpeech来很快的实现#xff0c;如果不用系统自带的#xff0c;也可以使用三方提供的#xff0c;比如讯飞的语音合成等等#xff0c;总…前言 Android开发的同学都知道在Android当中实现一段文字合成语音播放可以使用系统提供的对象TextToSpeech来很快的实现如果不用系统自带的也可以使用三方提供的比如讯飞的语音合成等等总之实现起来多种多样那么在鸿蒙当中如何实现根据指定的文本进行合成语音合成播放呢其实也是非常的简单因为鸿蒙当中也有textToSpeech。 实现步骤 第一步创建引擎得到文本转语音类 使用系统自带的Api textToSpeech调用createEngine方法来创建引擎接收的参数用来设置创建引擎实例的相关参数比如配置的语种、模式、音色和风格等。 private createTextToSpeech() {let extraParam: Recordstring, Object { style: interaction-broadcast, locate: CN, name: EngineName };let initParamsInfo: textToSpeech.CreateEngineParams {language: zh-CN,person: 0,online: 1,extraParams: extraParam}// 调用createEngine方法textToSpeech.createEngine(initParamsInfo,(err: BusinessError, textToSpeechEngine: textToSpeech.TextToSpeechEngine) {if (!err) {console.info(Succeeded in creating engine.);// 接收创建引擎的实例this.ttsEngine textToSpeechEngine;} else {console.error(Failed to create engine. Code: ${err.code}, message: ${err.message}.);}})} 关于参数需要注重说明一下首先是language也就是支持的语言目前只支持中文也就是“zh-CN”online字段是支持的模式0为在线模式目前不支持1为离线当前仅支持离线模式person音色0为聆小珊女声音色当前仅支持聆小珊女声音色extraParams为风格设置比如设置广播风格是否支持后台播放等。 可以发现虽然有很多参数但是目前都仅仅支持一种基本上固定就行extraParams中有一个isBackStage也就是是否支持后台播放为true时支持后台播报。 第二步语音播放 文字合成语音我们只需要调用speak方法即可两个参数第一个是需要合成语音的文本要求是不超过10000字符的中文文本这个是重点第二个是合成播报音频的相关参数用于配置语速、音量、音调、合成类型等其中有一个参数requestId需要知道它在同一实例内仅能用一次重复设置是不起作用的如果多次调用建议每次进行更换比如用时间戳随机数等等。 // 调用speak播报方法private speak(message:string) {let speakListener: textToSpeech.SpeakListener {// 开始播报回调onStart(requestId: string, response: textToSpeech.StartResponse) {console.info(onStart, requestId: ${requestId} response: ${JSON.stringify(response)});},// 完成播报回调onComplete(requestId: string, response: textToSpeech.CompleteResponse) {console.info(onComplete, requestId: ${requestId} response: ${JSON.stringify(response)});},// 停止播报完成回调调用stop方法并完成时会触发此回调onStop(requestId: string, response: textToSpeech.StopResponse) {console.info(onStop, requestId: ${requestId} response: ${JSON.stringify(response)});},// 返回音频流onData(requestId: string, audio: ArrayBuffer, response: textToSpeech.SynthesisResponse) {console.info(onData, requestId: ${requestId} sequence: ${JSON.stringify(response)} audio: ${JSON.stringify(audio)});},// 错误回调播报过程发生错误时触发此回调onError(requestId: string, errorCode: number, errorMessage: string) {console.error(onError, requestId: ${requestId} errorCode: ${errorCode} errorMessage: ${errorMessage});}};// 设置回调this.ttsEngine?.setListener(speakListener);// 设置播报相关参数let extraParam: Recordstring, Object {queueMode: 0,speed: 1,volume: 2,pitch: 1,languageContext: zh-CN,audioType: pcm,soundChannel: 3,playType: 1}let speakParams: textToSpeech.SpeakParams {requestId: 123456-a, // requestId在同一实例内仅能用一次请勿重复设置extraParams: extraParam}// 调用speak播报方法this.ttsEngine?.speak(message, speakParams)} 停止播放 直接调用stop即可。 ttsEngine.stop() 关闭引擎释放引擎资源 // 调用shutdown接口 ttsEngine.shutdown() 语音识别回调 let speakListener: textToSpeech.SpeakListener {// 开始播报回调onStart(requestId: string, response: textToSpeech.StartResponse) {console.info(onStart, requestId: ${requestId} response: ${JSON.stringify(response)});},// 完成播报回调onComplete(requestId: string, response: textToSpeech.CompleteResponse) {console.info(onComplete, requestId: ${requestId} response: ${JSON.stringify(response)});},// 停止播报完成回调调用stop方法并完成时会触发此回调onStop(requestId: string, response: textToSpeech.StopResponse) {console.info(onStop, requestId: ${requestId} response: ${JSON.stringify(response)});},// 返回音频流onData(requestId: string, audio: ArrayBuffer, response: textToSpeech.SynthesisResponse) {console.info(onData, requestId: ${requestId} sequence: ${JSON.stringify(response)} audio: ${JSON.stringify(audio)});},// 错误回调播报过程发生错误时触发此回调onError(requestId: string, errorCode: number, errorMessage: string) {console.error(onError, requestId: ${requestId} errorCode: ${errorCode} errorMessage: ${errorMessage});}};// 设置回调this.ttsEngine?.setListener(speakListener); 播报策略 在不同的场景下比如停顿单词连读数字分开读等等不同的场景就会有不同的播放策略。 单词播报方式 文本格式[hN] (N0/1/2)首先h是固定的N可以选择012三个数字0是智能判断单词播放方式。默认值即为01是逐个字母进行播报2是以单词方式进行播报。 举例 hello[h1] world hello使用单词发音world及后续单词将会逐个字母进行发音。 数字播报策略 格式和以上一样[nN] (N0/1/2)N可以选择012三个数字0是智能判断数字处理策略默认值为01是作为号码逐个数字播报2是作为数值播报超过18位数字不支持自动按逐个数字进行播报。 举例 [n2]123[n1]456[n0] 其中123将会按照数值播报456则会按照号码播报而后的文本中的数字均会自动判断。 插入静音停顿 格式为[pN]N为无符号整数单位为ms。 举例 你好[p1000]程序员一鸣 以上的语句播报时将会在“你好”后插入1000ms的静音停顿。 指定汉字发音 汉字声调用后接一位数字1~5分别表示阴平、阳平、上声、去声和轻声5个声调格式为[MN]其中M表示拼音N表示声调取值范围为1表示阴平2表示阳平3表示上声4表示去声5表示轻声。 举例 着[zhao2]火 “着”字将读作“zhaó”。 相关总结 文本合成语音的能力目前只能在真机上进行测试不支持模拟器。
http://www.hkea.cn/news/14352660/

相关文章:

  • 建设谷歌公司网站费用重庆微信开发网站建设
  • 做外贸免费的网站有哪些机关事业单位网站建设
  • 机械技术支持 东莞网站建设湖北网站建设优化
  • 个人建网站要花多少钱如何优化网站速度
  • 网站密码如何找回网站优化seo教程
  • 申请个人网站域名推广费用一般多少
  • 企业网站推广解决方案wordpress 群组插件
  • 视频网站建设工具好玩的页游
  • 徐汇做网站网页怎么写
  • 河南省住房建设厅网站wordpress更改作者信息
  • 网站建设需要的功能海外打开网站慢
  • 网站建设 事项高埗仿做网站
  • 三点水网站建设合同书重庆百度竞价排名
  • 做资讯网站怎么挣钱怎么样建设一个网站
  • 做一个搜索引擎网站要多少钱中国卫生健康网官网
  • 钓鱼网站盗号下载大数据开发需要学什么
  • 德宏企业网站建设公司静安区品牌网站建设
  • 网站建设维护协议苏州知名互联网公司
  • .net网站开发步骤自己做网站还是找网站建设公司好
  • 网站建设的swot分析对网站开发课程的建议
  • 中国城镇建设网站VPS如何做镜像网站
  • 20个优秀的响应式设计html5网站模板专业直播网站开发
  • 旅游门户网站建设方案模板wordpress 分类 别名
  • 个人网站 不用备案装潢
  • 温州网站外包公司宣传片视频
  • 自建站工具开封市网站开发公司
  • 青岛网站建设订做网站建设结构分布
  • 免费注册网站云空间wordpress怎么修改文字大小
  • 电视台视频网站建设方案网站开发维护入哪个科目
  • 微信开发小程序开发网站建设软件技术专升本需要考什么