马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
媒介
迩来利用 uniapp 做小步调的时间,须要实现一个语音输入转换为文本的功能,功能的实现并不复杂,但还是踩了一个坑,因此记录了一下团体的实现过程以及提供了可以直接复制利用的代码,渴望可以资助到你。
引用插件
微信的同声传译插件有三个功能,分别是 语音输入,文本翻译和语音合成(笔墨转语音),我用到的就是语音输入功能。
起首微敬佩务市场中登录并添加同声传译插件,我是个人账号同样可以申请,链接在这里:
添加完成后在小步调背景 点击左下角的账号设置
顶部 Tab 栏选择第三方设置,在插件管理中找到同声传译插件,点击详情
在详情中可以检察插件的 APPID,提前复制好
接下来在小步调项目的 manifest.json 文件中添加一个插件引用:
- "mp-weixin": {
- "appid": "wxff30426f8850b0",
- "setting": {
- "urlCheck": false
- },
- "usingComponents": true,
- + "plugins": {
- + "WechatSI": {
- + "provider": "上一步复制的 APPID",
- + "version": "0.3.6"
- }
- }
- },
复制代码 云云操纵,插件就算是在项目中乐成引用了。
功能利用
这里我直接写了一个 hook,如果有须要可以本身复制利用,插件的初始化,转换乐成后文本的插入都在这个 hook 中实现了>
- import {
-
- ref, reactive } from 'vue'
- export function useVoiceInput() {
-
-
- // 初始化语音识别插件
- const plugin = requirePlugin('WechatSI')
- const manager = plugin.getRecordRecognitionManager()
- // 记录光标位置
- const cursorPosition = ref(0)
- // 语音输入状态
- const voiceState = reactive({
-
-
- isRecording: false, // 是否正在录音
- recordLoading: false, // 录音加载状态
- })
- // 处理文本框失焦事件,保存光标位置
-
复制代码 |