亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

使用小程序如何實現錄音功能

發布時間:2020-11-02 16:39:54 來源:億速云 閱讀:348 作者:Leah 欄目:開發技術

今天就跟大家聊聊有關使用小程序如何實現錄音功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

首先判斷權限

getPermission: function() {
  var that = this;
    wx.getSetting({
     success(res) {
      console.log(res.authSetting)
      if (res.authSetting["scope.record"] === false) {
       wx.showModal({
        title: '是否錄音',
        content: '是否錄音',
        success: function (tip) {
         if (tip.confirm) {
          wx.openSetting({
           success: function (data) {
            if (data.authSetting["scope.record"] === true) {
             wx.showToast({
              title: '授權成功',
              icon: 'success',
              duration: 1000
             })
             that.startLuYin()
             //授權成功之后,再調用chooseLocation選擇地方
            } else {
             wx.showToast({
              title: '授權失敗',
              icon: 'success',
              duration: 1000
             })
            }
           }
          })
         }
        }
       })
      }else{
       that.startLuYin()
      }
     }
    })
 },

授權成功后開始錄音

startLuYin(){
  const options = {
   duration: 10000 * 6 * 10, //指定錄音的時長,單位 ms
   sampleRate: 16000, //采樣率
   numberOfChannels: 1, //錄音通道數
   encodeBitRate: 96000, //編碼碼率
   format: 'mp3', //音頻格式,有效值 aac/mp3
   frameSize: 50, //指定幀大小,單位 KB
  }
  //開始錄音
  recorderManager.start(options);
  recorderManager.onStart(() => {
   console.log('recorder start');
   Countdown(this); //開始計時
  });
  //錯誤回調
  recorderManager.onError((res) => {
   console.log('recorder出錯:' + res);
   console.log(res);
   clearTimeout(timer); //出錯時停止計時
  })
 },

暫停錄音

// 暫停錄音
 pause: function() {
  var that = this;
  recorderManager.pause()
  recorderManager.onPause((res) => {
   console.log(res)
   console.log('暫停錄音')
   clearTimeout(timer);
  })
 },

繼續錄音

//繼續錄音
 jixu: function() {
  var that = this;
  recorderManager.resume()
  Countdown(that); //開始計時
  recorderManager.onResume((res) => {
  })
 },

停止錄音

//停止錄音
 stop: function() {
  recorderManager.stop();
  recorderManager.onStop((res) => {
   this.tempFilePath = res.tempFilePath;
   console.log('停止錄音', res.tempFilePath)
   clearTimeout(timer);
  })
 },

播放聲音

//播放聲音
 play: function() {
  innerAudioContext.autoplay = true
  innerAudioContext.src = this.tempFilePath,
   innerAudioContext.onPlay(() => {
    console.log('開始播放')
   })
  innerAudioContext.onError((res) => {
   console.log(res.errMsg)
   console.log(res.errCode)
  })
 },
// 倒計時
function Countdown(that) {
 timer = setTimeout(function() {
  console.log("----secondes----" + formatSeconds(secondes));
  secondes++;
  if (secondes >= 600) {
   recorderManager.stop();
   clearTimeout(timer);
  }
  that.setData({
   times: formatSeconds(secondes)
  });
  Countdown(that);
 }, 1000);
};
// 時間展示
function formatSeconds(value) {
 var secondTime = parseInt(value); // 秒
 var minuteTime = 0; // 分
 var hourTime = 0; // 小時
 if (secondTime > 60) { //如果秒數大于60,將秒數轉換成整數
  //獲取分鐘,除以60取整數,得到整數分鐘
  minuteTime = parseInt(secondTime / 60);
  //獲取秒數,秒數取佘,得到整數秒數
  secondTime = parseInt(secondTime % 60);
  //如果分鐘大于60,將分鐘轉換成小時
  if (minuteTime > 60) {
   //獲取小時,獲取分鐘除以60,得到整數小時
   hourTime = parseInt(minuteTime / 60);
   //獲取小時后取佘的分,獲取分鐘除以60取佘的分
   minuteTime = parseInt(minuteTime % 60);
  }
 }
 var result;
 //時間的展示方式為00:00
 if (secondTime < 10) {
  result = "0" + parseInt(secondTime);
 } else {
  result = "" + parseInt(secondTime);
 }
 if (minuteTime > 0) {
  if (minuteTime < 10) {
   result = "0" + parseInt(minuteTime) + ":" + result;
  } else {
   result = "" + parseInt(minuteTime) + ":" + result;
  }
 } else {
  result = "00:" + result;
 }
 //由于限制時長最多為三分鐘,小時用不到
 if (hourTime > 0) {
  result = "" + parseInt(hourTime) + ":" + result;
 }
 return result;
}

看完上述內容,你們對使用小程序如何實現錄音功能有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

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

AI

瑞金市| 黑水县| 浮山县| 阳高县| 长岭县| 建水县| 新田县| 淮滨县| 咸宁市| 玉环县| 二连浩特市| 巩留县| 洞口县| 廊坊市| 赤壁市| 会宁县| 台州市| 仁怀市| 承德县| 如东县| 若尔盖县| 宁城县| 昭平县| 阿克陶县| 遵义市| 靖州| 东至县| 大竹县| 武邑县| 六安市| 深圳市| 呼玛县| 柞水县| 彝良县| 花莲县| 咸丰县| 乌兰察布市| 广东省| 泰和县| 威宁| 张家港市|