首页 > 开发 > JS > 正文

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

2024-05-06 16:50:27
字体:
来源:转载
供稿:网友

具体代码如下所示:

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


注:相关教程知识阅读请移步到JavaScript/Ajax教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表