小程序之定位语音识别=>插件:微信同声传译

说明:文章部分内容及图片出自网络,如有侵权请与我本人联系(主页有公众号:小攻城狮学前端)

作者:小只前端攻城狮
主页:小只前端攻城狮的主页
首发:掘金

GitHub:P-J27
CSDN:PJ想做前端攻城狮

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


引言

这是在我做毕设时,涉及到的一个功能点,在小程序上做语音录入&识别。这里把如何实现给大家分享一下。有做过wx小程序应该都知道,官方文档说的话==没说。如果有人以后需要做类似的功能,希望有帮助。避免在官方文档上浪费大把时间。

这个功能的主要目的就是:获取用户的语音,并转文字,再内容实时上墙到PC端的网页,这里提到前面的语音获取和语音翻译,至于后面的内容实时上墙到PC端这里先就不提了(技术方案:WebSocket),后面有时间我会专门开一篇文章。

在这里插入图片描述

技术方案

这里主要采用小程序插件:微信同声传译。插件文档定位

具体步骤

添加插件=>小程序后台
  1. 先登录小程序后台(项目别错了):官网传送

  2. 然后 设置 => 第三方设置 => 添加插件

    image-20220422173828681

  3. 搜索微信同声传译,选择添加。

  4. 如果发现搜索不到,别慌(我就是搜不到,坑了我好久)。有以下两种解决办法。

    1. 进入插件文档定位,点里面的添加,如果添加失败也别慌,还有下面的解决方案。
    2. 上面的都不行,那就先不管,先直接写代码,在开发中工具里面 等他报错,点击就可以添加。
  5. 在插件文档里面拿到Appid和版本号(选最新的)

    image-20220422174410696

全局配置app.json

在app.json里面配置插件的appid和版本号(用最新的,不然控制一直警告),上面获取的。

  "plugins":{"WechatSI": {"version":"0.3.5","provider":"wx069ba97219f66d99"}},
案例代码实现
index.wxml

<view class="videoWrap"><textarea class='videoCon' bindinput="conInput" placeholder='等待说话...' value='{{content}}'></textarea>
</view>
<view class='video-konw'><button class="videoBtn {{recordState == true ? 'videoBtnBg':''}}" bindtouchstart="touchStart" bindtouchend="touchEnd"><text wx:if="{{recordState == false}}">按住 说话</text><text wx:else>松开 结束</text></button>
</view>
<view class='send-btn'><button class="videoBtn sendBtn" bindtap="sendBarrage" >内容 上墙</button>
</view>
<!-- 开始语音 弹出语音图标表示正在录音 -->
<cover-view class="startYuyinImage" wx:if="{{recordState == true}}"><cover-icon></cover-icon><cover-image src="../../images/video.png"></cover-image><cover-view>开始语音</cover-view>
</cover-view>
index.js
const app = getApp();
//引入插件:微信同声传译
const plugin = requirePlugin('WechatSI');
//获取全局唯一的语音识别管理器recordRecoManager
const manager = plugin.getRecordRecognitionManager();Page({/*** 页面的初始数据*/data: {//语音recordState: false, //录音状态content:'',//内容},/*** 生命周期函数--监听页面加载*/onLoad: function (options) {/**ws用的文件,这里可以删除this.setData({dataPacker:JSON.parse(options.param)})*///识别语音this.initRecord();},// 手动输入内容conInput: function (e) {this.setData({content:e.detail.value,})},//识别语音 -- 初始化initRecord: function () {const that = this;// 有新的识别内容返回,则会调用此事件manager.onRecognize = function (res) {console.log(res)}// 正常开始录音识别时会调用此事件manager.onStart = function (res) {console.log("成功开始录音识别", res)}// 识别错误事件manager.onError = function (res) {console.error("error msg", res)}//识别结束事件manager.onStop = function (res) {console.log('..............结束录音')console.log('录音临时文件地址 -->' + res.tempFilePath); console.log('录音总时长 -->' + res.duration + 'ms'); console.log('文件大小 --> ' + res.fileSize + 'B');console.log('语音内容 --> ' + res.result);if (res.result == '') {wx.showModal({title: '提示',content: '听不清楚,请重新说一遍!',showCancel: false,success: function (res) {}})return;}// var text = that.data.content + res.result;that.setData({content: res.result})}},//语音  --按住说话touchStart: function (e) {this.setData({recordState: true  //录音状态})// 语音开始识别manager.start({lang: 'zh_CN',// 识别的语言,目前支持zh_CN en_US zh_HK sichuanhua})},//语音  --松开结束touchEnd: function (e) {this.setData({recordState: false})// 语音结束识别manager.stop();},/**ws用的文件,这里可以删除sendBarrage(){if(this.data.content?.length>0){let data = this.data.dataPackerdata.content = this.data.contentthis.sendDataToWS(data)}else{wx.showToast({title: '上墙内容为空',icon:'error'})}},sendDataToWS(data){wx.sendSocketMessage({data: JSON.stringify(data),})},*/
})
index.wxss

我这里用了colorUI,样式你可以自己去重新处理

page {height: 100%;width: 100%;background: #FAFAFA;background-image: url(https://uploads-ssl.webflow.com/60e3d74…/60e3d74…_60e3a35…_Mesh%252087-p-500.jpeg);background-size: cover;
}.videoWrap {margin-top: 150rpx;word-wrap: break-word;position: relative;width: 80%;margin-left: 10%;background: #FFFFFF;box-shadow: 0 2px 16px 2px rgba(0, 0, 0, 0.1);padding: 50rpx 60rpx;box-sizing: border-box;min-height: 260rpx;
}.videoCon {width: 100%;margin: 0 auto;padding: 10rpx;background: #fff;
}.videos {position: absolute;bottom: 0;left: 48rpx;font-size: 36rpx;color: #999;padding-bottom: 10rpx;
}.videos icon.iconfont {font-size: 34rpx;padding: 0 17rpx 15rpx;border-radius: 50%;background: #73dbef;margin-right: 14rpx;color: #fff;
}.consultYuyin {height: 100%;width: 90%;
}.icon-jianpan1 {position: absolute;left: 10rpx;bottom: 6px;color: #606267;font-size: 60rpx;
}.videoBtn {width: 50%;height: 80rpx;line-height: 80rpx;background-image: var(--gradualBlue);color: var(--white);border-radius: 8px;margin-top: 150rpx;
}
.sendBtn{margin-top: 80rpx;background-image: var(--gradualPink);color: var(--white);}
.videoBtnBg {background: #bdb4b4;
}.videoBtn::after {/* background: #fff; *//* color: #000; */border-radius: 0;border: none;
}.startYuyinImage {position: fixed;top: 216rpx;left: 50%;width: 240rpx;height: 300rpx;background: rgba(0, 0, 0, 0.6);border-radius: 20rpx;color: #fff;text-align: center;margin-left: -120rpx;
}.startYuyinImage cover-image {margin: 60rpx auto;width: 100rpx;height: 100rpx;
}.startYuyinImage cover-view {margin-top: 25rpx;
}
说明

上面代码可以直接copy 跑。正常如下

image-20220422180058649

  1. 如果是上面没有添加成功的情况,你这个copy完代码 直接编译。控制台会报类似如下错误(因为我已经添加,就不好演示,反正就是说你没有添加同声传译插件,然后你直接点击他 他会让你添加,直接就添加好了。)

image-20220422180515295

  1. 开发者工具的录音文件格式和移动端不同,所以我这里配置的开发者工具录音是识别不了的。如果想要测试的功能是否正常,可以用演示或者真机调试

感谢阅读,希望能对你有所帮助,文章若有错误或者侵权,可以在评论区留言或在我的主页添加公众号联系我。

写作不易,如果觉得不错,可以「点赞」+「评论」 谢谢支持❤

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

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

相关文章

关于使用微信同声传译报错的问题

最近开发微信小程序&#xff0c;需要用到语音识别的功能&#xff0c;于是就用了微信官方的微信同声传译的插件&#xff0c;但是使用的时候报错了&#xff0c;我使用了云开发&#xff0c;后来经过这是误报&#xff0c;可以忽略&#xff0c;类似的报错也是可以忽略的

百度新突破:AI同声传译系统STACL,可预测,低延迟

文章来源&#xff1a;ATYUN AI平台 百度开发了新的AI系统&#xff0c;名为同声传译和预期与可控延迟&#xff08;STACL&#xff09;&#xff0c;百度声称这代表了自然语言处理的重大突破。 与大多数AI翻译系统不同&#xff0c;STACL能够在演讲者讲话后几秒钟开始翻译&#x…

语音识别+语音合成+同声传译 微信小程序

语音识别语音合成同声传译 微信小程序 代码库链接为&#xff1a;https://github.com/Resulte/SpeechProcessMiniProgram &#xff08;希望您去Github的时候顺便给个Star&#xff09; 项目预览 扫描下方小程序码&#xff0c;即可查看预览&#xff1a; 主页 语音识别 #### 语…

“同声传译”的难度有多大?

同声传译&#xff0c;简称“同传”&#xff0c;又称“同声翻译”、“同步口译”&#xff0c;是指译员在不打断讲话者讲话的情况下&#xff0c;不间断地将内容口译给听众的一种翻译方式。 同声传译作为一种翻译方式&#xff0c;其最大特点在于效率高&#xff0c;原文与译文翻译…

小程序=》添加同声传译插件,做简单的播放文本功能

一、进入小程序管理后台&#xff0c;菜单拉到最底下的“设置” 二、设置》第三方设置》插件管理》添加插件&#xff0c;输入“微信同声传译”即可添加 三、修改app.json文件&#xff0c;plugins节点下增加 "WechatSI": {"version": "0.3.5",&qu…

中英同声传译,线上同声传译服务

疫情期间&#xff0c;线上会议需求量激增&#xff0c;英信翻译升级同传翻译功能&#xff0c;制定线上同传大会解决方案&#xff0c;可远程快速接入&#xff0c;以线上同传(云同传)形式为大会提供全流程实时同传翻译服务。 3月份&#xff0c;“中信证券年度业绩交流会”会议以网…

交替传译和同声传译哪个难

我们知道&#xff0c;交替传译和同声传译是会议口译的高级形式。在涉外会议和商务活动中&#xff0c;往往根据需要采用这两种不同的口译方式。那么&#xff0c;针对交替传译Consecutive Interpreting和同声传译 Simultaneous Interpretation&#xff0c;这两种口译方式哪种比较…

使用微信同声传译插件开发一款翻译类的小程序

使用微信同声传译插件开发一款翻译类的小程序 1. 微信同声传译插件简介 1.1 微信同声传译插件有三个功能&#xff1a;语音输入、文本翻译、语音合成。可参考微信开发文档https://developers.weixin.qq.com/miniprogram/dev/platform-capabilities/extended/translator.html 2. …

Taro 微信同声传译插件使用详解

最近在做语音交互用到了 微信同声传译插件 &#xff0c;下面介绍一下这个插件的用法 1.首先在微信公众后台添加 同声传译插件 正式开始使用微信同声传译小程序插件之前需先在微信公众平台 -> 第三方设置 -> 插件管理处添加插件&#xff0c;点击详情可以查看文档。如下图…

微信小程序使用同声传译实现语音识别功能

微信小程序使用同声传译实现语音识别功能 我使用同声传译语音识别功能是为了实现微信小程序首页的语音搜索功能&#xff0c;如果你也是那么恭喜你&#xff0c;你可以ctrlc、ctrlv再改一改&#xff0c;如果你不是那么你也不要着急的走可以看完我的文章会对你有所帮助&#xff0…

微信小程序同声传译使用总结

最近在做项目中需要使用录音转文字&#xff0c;之前用微信SDK可以直接使用wx.translateVoice({}&#xff09;&#xff0c;但是小程序中没有提供此类方法&#xff0c;没办法只能查资料解决了&#xff0c;看了好多大多是保存当前录音文件掉讯飞接口实现语音转译&#xff0c;还需要…

(保姆教程及高级玩法及坑)微信同声传译插件-语音识别

目录 一、背景 二、效果 ​编辑 三、保姆级教程 3.1 小程序后台添加插件&#xff1a;微信同声传译 3.1.1 设置 -> 第三方设置 -> 添加插件 3.1.2 搜索插件 3.1.3 成功添加后&#xff0c;点击详情 3.1.4 复制它的AppID和最新版本号&#xff08;后序有用&#xff09; …

微信小程序语音识别、语音合成(微信同声传译)使用代码实例

最近在开发一款“单词大作战”的微信小程序&#xff0c;想增加语音识别、语音合成这2个功能。&#xff08;让用户能听到单词的读音&#xff0c;并对比自己读音是否标准正确&#xff09;。 查了一下资料&#xff0c;大概有几种方式&#xff1a;用百度翻译&#xff08;需要配置后…

同声传译,主要难在哪里?

搜狗的机器翻译团队成绩有目共睹&#xff0c;而且搜狗同传也是国内目前唯一曾应用于大型会议的语音识别机器翻译系统&#xff0c;从去年世界互联网大会上&#xff0c;搜狗CEO王小川首秀了这项技术。随后&#xff0c;搜狗同传又在香港科技大学学术讲座、前哨大会、GMIS大会上“炫…

使用微信同声传译,实现页面滑动播放

一、添加微信同声传译插件 由于目前使用官方推荐的添加方式无法查找到微信同声传译插件&#xff0c;因此&#xff0c;我们直接使用微信服务平台进行添加&#xff0c;操作步骤如下&#xff1a; 1.点击微信服务平台链接&#xff0c;下滑找到微信同声传译 2.点击添加插件按钮&am…

线上Debug,学会Arthas拿捏所有bug

点击上方“Java基基”&#xff0c;选择“设为星标” 做积极的人&#xff0c;而不是积极废人&#xff01; 每天 14:00 更新文章&#xff0c;每天掉亿点点头发... 源码精品专栏 原创 | Java 2021 超神之路&#xff0c;很肝~中文详细注释的开源项目RPC 框架 Dubbo 源码解析网络应…

中国首档程序员真人秀,20位选手找bug做模型,结果一开场主办方就惨遭攻击...

金磊 杨净 发自 凹非寺 量子位 报道 | 公众号 QbitAI 终于&#xff01;终于&#xff01;终于&#xff01; 以程序员为主题的综艺真人秀&#xff0c;真真儿的诞生了&#xff01; 你以为是参赛选手都会是秃头、黑眼圈&#xff0c;21岁拥有40岁的面容&#xff1f; 图源&#xff1a…

跑分达ChatGPT的99%,人类难以分辨!开源「原驼」爆火,iPhone都能微调大模型了...

梦晨 发自 凹非寺量子位 | 公众号 QbitAI 自动测试分数达到ChatGPT的99.3%&#xff0c;人类难以分辨两者的回答…… 这是开源大模型最新成果&#xff0c;来自羊驼家族的又一重磅成员——华盛顿大学原驼&#xff08;Guanaco&#xff09;。 更关键的是&#xff0c;与原驼一起提出…

跑分达ChatGPT的99%,人类难以分辨!开源「原驼」爆火,iPhone都能微调大模型了

来源 | 量子位 | 公众号 QbitAI 自动测试分数达到ChatGPT的99.3%&#xff0c;人类难以分辨两者的回答…… 这是开源大模型最新成果&#xff0c;来自羊驼家族的又一重磅成员——华盛顿大学原驼&#xff08;Guanaco&#xff09;。 更关键的是&#xff0c;与原驼一起提出的新方法…

一键让ChatGPT教出新模型!100美元单卡炼出平替「白泽」,数据集权重代码都开源...

梦晨 发自 凹非寺量子位 | 公众号 QbitAI 炼ChatGPT需要高质量对话数据。 在以前这可是稀缺资源&#xff0c;但自从有了ChatGPT&#xff0c;时代就变了。 加州大学圣迭戈分校&#xff08;UCSD&#xff09;与中山大学、MSRA合作团队提出最新方法&#xff1a; 使用少量“种子问题…