#微信小程序实现语音功能
bindlongtap / bindtouchstart按住下拉后不在执行bindtouchend
做微信小程序录音时候
思路是:
长按录音,然后松手后录音停止保存到一个位置,先不管上滑还是下滑取消发送什么的
想法美好现实骨感,真机和web开发工具还是有区别的
单纯的长按录音和松手停止录音看似简单,确实简单,写法为
wxml端
<view bindlongtap="longTap" bindtouchstart="touchStart" bindtouchend="touchEnd">单机录音</view>
js端
longTap:function(){
consloe.log("长按")
wx.showToast({
title: '我是长按',
})
},
touchStart:function(){
consloe.log("开始")
wx.showToast({
title: '我是开始',
})
},
touchEnd:function(){
consloe.log("结束")
wx.showToast({
title: '我是结束',
})
},
在自己的方法里面写上自己的内在逻辑
在web开发工具测试时候不会出现一点问题,当你在真机测试时候发现,长按然后松手是可以触发touchEnd的。但是你操作是: 长按后别松手往下滑一下在松手,你会发现touchEnd没走
也就是你的这样非正常操作不走touchEnd。但是开发不能控制用户的操作只能自行解决。
在web开发者工具咋用咋好使,在真机上直接懵逼了
我就开始一顿百度有个别问的但是几乎回答较少.
这里告诉你用touchCancel代替touchEnd 也就是把你的touchEnd逻辑放到touchCancel中
好使了