您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
这篇文章主要介绍了基于JS如何开发微信网页录音功能,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
具体代码如下所示:
wx.ready(function () { 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 }); } })
感谢你能够认真阅读完这篇文章,希望小编分享的“基于JS如何开发微信网页录音功能”这篇文章对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,更多相关知识等着你来学习!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。