中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于JS如何開發微信網頁錄音功能

發布時間:2021-07-09 14:04:00 來源:億速云 閱讀:150 作者:小新 欄目:web開發

這篇文章主要介紹了基于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如何開發微信網頁錄音功能”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

灌阳县| 永年县| 楚雄市| 新巴尔虎右旗| 泰和县| 抚州市| 奉新县| 包头市| 交城县| 中西区| 天柱县| 肇东市| 涪陵区| 安平县| 禹城市| 观塘区| 乌拉特后旗| 六枝特区| 武清区| 阜宁县| 泾川县| 安新县| 安远县| 连城县| 金溪县| 珲春市| 竹北市| 晋宁县| 上林县| 舟山市| 乌审旗| 神木县| 凤凰县| 乌兰浩特市| 苏尼特右旗| 民和| 宜川县| 株洲市| 邢台市| 揭阳市| 桓仁|