这两天用taro2写了个小程序,其中用到了微信小程序中的同声传译插件,记录一下配置的过程。
1、需要在app.jsx中配置插件。
config = {
pages: [
'pages/index/index'
],
window: {
backgroundTextStyle: 'light',
navigationBarBackgroundColor: '#fff',
navigationBarTitleText: 'WeChat',
navigationBarTextStyle: 'black'
},
"plugins": {
"WechatSI": {
"version": "0.3.3",
"provider": "wx069ba97219f66d99"
}
}
}
2、初始化插件。
const plugin = requirePlugin("WechatSI")
// // 获取**全局唯一**的语音识别管理器**recordRecoManager**
const manager = plugin.getRecordRecognitionManager()
3、编写初始化(init)、开始录音(start)、结束录音(end)三个方法。
//开始录音
start = (e) => {
console.log('start')
manager.start({
duration: 30000, lang: "zh_CN"
})
this.setState({
loading:true,
disabled:true
})
Taro.atMessage({
'message': '正在聆听...',
})
}
//结束录音
end = (e) => {
console.log('end')
manager.stop()
this.setState({
loading:false
})
}
//初始化
initRecord= () => {
var that = this
//当调用manager.stop()后回调manager.onStop得到识别结果res.result
manager.onStop = (res) => {
let text = res.result
if(text == '') {
Taro.atMessage({
'message': '没听清您的话!',
type:'error'
})
this.setState({
disabled:false
})
return
}
this.setState({
keyword : res.result
})
this.setState({
disabled:false
})
}
}
4、在render中放入按钮。
<Button
className='btn'
size='normal'
loading={loading}
disabled={disabled}
onTouchStart={this.start}
onTouchEnd={this.end}>
语音搜索
</Button>
参考:
文档
github demo
网友评论