关于使用同声传译插件建立语音转文字的自定义组件遇到的问题
问题描述:
同一页面使用该语音转文字的自定义组件,将结果双向绑定至输入框,出现一个异常,不论使用哪个自定义组件进行语音转文字,最终的结果都只会输入到最后一个使用自定义组件的输入框中
自定义组件voice
使用步骤:
voice.js
引入插件
attached()函数中初始化插件相关回调函数
开始录音
结束录音
调用处:
.json
.wxml
改进方式1
将stop()【停止录音】的回调函数onStop()放置在start()【开始录音】之后调用 如下
这种方式出现的异常情况是,第一次点击自定义组件录音没有录音结果,第二次录音结果正常放置在对应的输入框中,后面多次对该组件语音输入都没有问题,但是切换到当页的另一个自定义组件录音时,该组件第一次录音,会将录音结果放置在上一次使用的自定义组件的输入框中,第二次及其后面多次结果都正常放置在对应的输入框中,切换自定义组件使用同样会出现上面的情况。
正确改造方式
将回调函数onStop()等放置在start()之前调用
注:以上是针对同一页面多次引用该自定义语音组件出现的数据紊乱问题,同一页面单次使用无异常