微信网页录音功能
2019-04-30 23:40:25来源:博客园 阅读 ()
wx.ready(function () {
var voice = {
localId: '',
serverId: '',
} var startRecordflag = false var startTime = null
//btnRecord 为录音按钮dom对象 btnRecord.addEventListener('touchstart', function (event) { event.preventDefault(); startTime = newDate().getTime(); // 延时后录音,避免误操作 recordTimer = setTimeout(function () { wx.startRecord({ success: function () { var rainAllowRecord = sessionStorage.getItem("rainAllowRecord");//判断是否授权过允许使用录音功能 if (!isEmpty(rainAllowRecord) && rainAllowRecord == "1") { //开始录音时的操作 如修改录音按钮样式等 } else { //一般第一次时 都没有授权 弹出授权窗口后 无法终止录音过程 所以在这里设置rainAllowRecord 的值表示允许过录音 并且在第一次时主动停止录音 sessionStorage.setItem("rainAllowRecord", "1"); wx.stopRecord(); } startRecordflag = true; }, cancel: function () { startRecordflag = true; alert('用户拒绝授权录音'); }, complete: function () { startRecordflag = true; } }); }, 300); }); btnRecord.addEventListener('touchend', function (event) { event.preventDefault(); // 间隔太短 var timeDitance = newDate().getTime() - startTime; if (timeDitance < 300) { startTime = 0; // 不录音 clearTimeout(recordTimer); } else { // 松手结束录音 //startRecordflag 因为startRecord是个异步方法 防止没有进入startRecord 的回调就进入了这里 var startRecordHandle = setInterval(function () { //startRecordflag为true 表示已经进入过startRecord的回调 if (startRecordflag) { startRecordflag = false; clearInterval(startRecordHandle); wx.stopRecord({ success: function (res) { voice.localId = res.localId; translateVoice(); }, fail: function (res) { } }); } }, 0); } }); wx.onVoiceRecordEnd({ complete: function (res) { voice.localId = res.localId; alert('录音时间已超过一分钟'); } }); function translateVoice() { //调用微信的语音转文字接口 wx.translateVoice({ localId: voice.localId, isShowProgressTips: 0, complete: function (res) { if (res.hasOwnProperty('translateResult')) { alert('识别结果:' + res.translateResult); } else { } } }); } function playVoice() { wx.playVoice({ localId: voice.localId }); } })
原文链接:https://www.cnblogs.com/jjlinsblog/p/10792323.html
如有疑问请与原作者联系
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- NiftyCube实现圆角边框的方法 2020-03-20
- javascript特殊文本输入框网页特效 2020-03-16
- 微信小程序开发图片拖拽实例详解 2020-03-16
- JS实现标签页切换效果 2020-03-12
- 分享JavaScript获取网页关闭与取消关闭的事件 2020-02-29
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash