欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

小程序?qū)崿F(xiàn)錄音功能

 更新時(shí)間:2020年09月22日 08:39:37   作者:一心只想  
這篇文章主要為大家詳細(xì)介紹了小程序?qū)崿F(xiàn)錄音功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了小程序?qū)崿F(xiàn)錄音功能的具體代碼,供大家參考,具體內(nèi)容如下

首先判斷權(quán)限

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: '授權(quán)成功',
              icon: 'success',
              duration: 1000
             })
             that.startLuYin()
             //授權(quán)成功之后,再調(diào)用chooseLocation選擇地方
            } else {
             wx.showToast({
              title: '授權(quán)失敗',
              icon: 'success',
              duration: 1000
             })
            }
           }
          })
         }
        }
       })
      }else{
       that.startLuYin()
      }
     }
    })
 },

授權(quán)成功后開(kāi)始錄音

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

暫停錄音

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

繼續(xù)錄音

//繼續(xù)錄音
 jixu: function() {
  var that = this;
  recorderManager.resume()
  Countdown(that); //開(kāi)始計(jì)時(shí)
  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('開(kāi)始播放')
   })
  innerAudioContext.onError((res) => {
   console.log(res.errMsg)
   console.log(res.errCode)
  })
 },
// 倒計(jì)時(shí)
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);
};
// 時(shí)間展示
function formatSeconds(value) {
 var secondTime = parseInt(value); // 秒
 var minuteTime = 0; // 分
 var hourTime = 0; // 小時(shí)
 if (secondTime > 60) { //如果秒數(shù)大于60,將秒數(shù)轉(zhuǎn)換成整數(shù)
  //獲取分鐘,除以60取整數(shù),得到整數(shù)分鐘
  minuteTime = parseInt(secondTime / 60);
  //獲取秒數(shù),秒數(shù)取佘,得到整數(shù)秒數(shù)
  secondTime = parseInt(secondTime % 60);
  //如果分鐘大于60,將分鐘轉(zhuǎn)換成小時(shí)
  if (minuteTime > 60) {
   //獲取小時(shí),獲取分鐘除以60,得到整數(shù)小時(shí)
   hourTime = parseInt(minuteTime / 60);
   //獲取小時(shí)后取佘的分,獲取分鐘除以60取佘的分
   minuteTime = parseInt(minuteTime % 60);
  }
 }
 var result;
 //時(shí)間的展示方式為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;
 }
 //由于限制時(shí)長(zhǎng)最多為三分鐘,小時(shí)用不到
 if (hourTime > 0) {
  result = "" + parseInt(hourTime) + ":" + result;
 }
 return result;
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • js制作xml在線編輯器實(shí)例

    js制作xml在線編輯器實(shí)例

    本文主要講解了利用js制作xml在線編輯器的實(shí)例,文中講解實(shí)例的圖片和代碼非常詳細(xì),感興趣的小伙伴現(xiàn)在一起來(lái)看一看吧
    2021-08-08
  • JavaScript 學(xué)習(xí)筆記(五)

    JavaScript 學(xué)習(xí)筆記(五)

    今天繼續(xù)學(xué)習(xí)JS中的對(duì)象,昨天內(nèi)置對(duì)象Global對(duì)象和Math對(duì)象,今天繼續(xù)。
    2009-12-12
  • JavaScript中檢測(cè)數(shù)組的3種方法小結(jié)

    JavaScript中檢測(cè)數(shù)組的3種方法小結(jié)

    數(shù)組檢測(cè)是指在編程中對(duì)數(shù)組進(jìn)行驗(yàn)證和檢查的過(guò)程,本文主要介紹了JavaScript中檢測(cè)數(shù)組的3種方法小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-08-08
  • 如何在uniapp項(xiàng)目中使用mqtt

    如何在uniapp項(xiàng)目中使用mqtt

    本文給大家分享uniapp中引入mqtt的全過(guò)程,在uniapp項(xiàng)目根目錄下分別運(yùn)行安裝mqtt和uuid的命令行,因?yàn)楹竺鏁?huì)用uuid生成mqtt的clientId,文中給大家介紹mqtt和uuid安裝過(guò)程,感興趣的朋友跟隨小編一起學(xué)習(xí)下吧
    2021-05-05
  • 關(guān)于img的href和src取變量及賦值的方法

    關(guān)于img的href和src取變量及賦值的方法

    這篇文章主要介紹了img的href和src取變量及賦值的方法,需要的朋友可以參考下
    2014-04-04
  • js Canvas實(shí)現(xiàn)圓形時(shí)鐘教程

    js Canvas實(shí)現(xiàn)圓形時(shí)鐘教程

    這篇文章主要為大家詳細(xì)介紹了HTML5 Canvas實(shí)現(xiàn)圓形時(shí)鐘簡(jiǎn)易教程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 基于ES6作用域和解構(gòu)賦值詳解

    基于ES6作用域和解構(gòu)賦值詳解

    下面小編就為大家?guī)?lái)一篇基于ES6作用域和解構(gòu)賦值詳解。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-11-11
  • 用js的document.write輸出的廣告無(wú)阻塞加載的方法

    用js的document.write輸出的廣告無(wú)阻塞加載的方法

    這篇文章主要介紹了用js的document.write輸出的廣告無(wú)阻塞加載的方法,需要的朋友可以參考下
    2014-06-06
  • Canvas中繪制Geojson數(shù)據(jù)示例詳解

    Canvas中繪制Geojson數(shù)據(jù)示例詳解

    這篇文章主要為大家介紹了Canvas中繪制Geojson數(shù)據(jù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-11-11
  • ionic開(kāi)發(fā)中點(diǎn)擊input時(shí)鍵盤自動(dòng)彈出

    ionic開(kāi)發(fā)中點(diǎn)擊input時(shí)鍵盤自動(dòng)彈出

    ionic開(kāi)發(fā)移動(dòng)端界面時(shí),在輸入用戶名和密碼的時(shí)候,輸入法不要擋住我的輸入框,并且輸入框往上滾動(dòng)的時(shí)候,頂部標(biāo)題不要上移,下面給大家分享實(shí)現(xiàn)代碼,一起看看吧
    2016-12-12

最新評(píng)論