uniapp小程序文字与语音互相转化

Posted pmh_vue_js

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了uniapp小程序文字与语音互相转化相关的知识,希望对你有一定的参考价值。

小程序文字与语音互相转化

插件名称: 微信同声传译

微信同声传译由微信智聆语音团队、微信翻译团队与公众平台联合推出的同传开放接口,首期开放语音转文字、文本翻译、语音合成接口,为开发者赋能。

插件使用

  1. 微信公众平台 ,进行登录小程序;
  2. 在设置,第三方设置,插件管理,添加**微信同声传译插件官网**;
  3. 在uniapp中manifest.json,源码视图中添加下面代码;
"plugins" : 
   "WechatSI" : 
        "version" : "0.0.7",
        "provider" : "wx069ba97219f66d90"
    

  1. 下面就可以在页面中进行使用了;

文字转语音功能

  1. 先引入微信同声传译插件
var plugin = requirePlugin("WechatSI")
  1. 使用 textToSpeech() 来进行转换,注意这里返回的是mp3链接
let _this = this;
plugin.textToSpeech(
    lang: "zh_CN",
    tts: true,
    content: "这是内容",
    success: function(res) 
		_this.pay = true
        console.log("succ tts", res)
    ,
    fail: function(res) 
        console.log("fail tts", res)
    
)
  1. 使用mp3进行自动播放,createInnerAudioContext创建innerAudioContext对象https://uniapp.dcloud.net.cn/api/media/audio-context.html点击查看innerAudioContext
let _this = this;
_this.innerAudioContext = uni.createInnerAudioContext();
_this.innerAudioContext.src = res.filename
_this.innerAudioContext.play()
_this.innerAudioContext.onPlay(() => 
  console.log('开始播放');
);
_this.innerAudioContext.onEnded(() => 
  console.log('播放结束');
  _this.pay = false
);

语音转文字

  1. 先引入微信同声传译插件
var plugin = requirePlugin("WechatSI")
  1. 获取全局唯一的语音识别管理器recordRecoManager,调用语音管理器的方法,onStart ,onStop ,onError ,onRecognize 来进行判断微信同声传译插件官网
let _this = this;
//获取全局唯一的语音识别管理器recordRecoManager
this.manager = plugin.getRecordRecognitionManager();
this.manager.onRecognize = function(res) 
console.log("current result", res.result)

this.manager.onError = function(res) 
    console.log("error msg", res)

this.manager.onStop = function(res) 
    console.log("record file path", res)
    console.log("result", res.result)

this.manager.onStart = function(res) 
    console.log("成功开始录音识别", res)

  1. 开启语音监听
// duration: 指定录音的时长,单位ms,最大为60000
// lang: 识别的语言,目前支持zh_CN en_US zh_HK
this.manager.start(duration:60000, lang: "zh_CN")
  1. 结束语音,结束语音后,语音识别管理器会调用onStop 方法, 会把你说的话进行转化,这个方法接收一个回调函数,result:就是最终识别结果。
this.manager.stop()

总结

你可以把上面的功能封装为组件,进行传递参数,我是这么进行封转的,感谢您的浏览,有好的建议或方法咱们可以进行进行留言谢谢,都到这里了 点一个关注在离开吧,以后每周都会固定更新一篇哦,想知道什么欢迎留言

以上是关于uniapp小程序文字与语音互相转化的主要内容,如果未能解决你的问题,请参考以下文章

uni-app技术分享| uni-app转小程序-实时消息

uni-app技术分享| uni-app转小程序-实时消息

uni-app 微信小程序获取手机号并解密

关于微信小程序原生组件与uniApp混合开发过程遇到的问题与解决方式

uni-app配置跳转到其它小程序

uni-app技术分享| uni-app转小程序_实时音视频