JavaScript

超轻量级php框架startmvc

基于JS开发微信网页录音功能的实例代码

更新时间:2020-08-24 13:36:02 作者:startmvc
具体代码如下所示:wx.ready(function(){varstartRecordflag=falsevarstartTime=null     //btnRecord为录

具体代码如下所示:


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开发微信网页录音功能的实例代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持! 如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

微信网页录音功能 微信录音