栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > Web开发 > JavaScript

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

JavaScript 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/76137.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号