成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

微信小程序--------語音識(shí)別(前端自己也能玩)

omgdog / 1035人閱讀

摘要:一背景作為一名前端同學(xué)有時(shí)候感覺挺可憐的,復(fù)雜的操作都依賴后端同學(xué)在服務(wù)器端完成。

一、背景

作為一名前端同學(xué)有時(shí)候感覺挺可憐的,復(fù)雜的操作都依賴后端同學(xué)在服務(wù)器端完成。那么,有一天我們自己想玩一個(gè)新技術(shù)或者后端同學(xué)不搭理我們,怎么辦?絕望中.....

二、小程序語音識(shí)別

 接到這個(gè)需求,我們明確兩個(gè)問題:

小程序錄音支持什么格式

由小程序文檔可知:只支持 mp3格式和 aac格式
微信小程序錄音文檔

科大訊飛平臺(tái)需要什么格式的音頻
支持的格式 pacm或者wav, speex和 speex-web 格式
科大訊飛語音聽寫api

3. 目標(biāo) 將小程序的錄音轉(zhuǎn)為 科大訊飛能識(shí)別的音頻格式

  import Mp3 from "@/utils/js-mp3/decode"
  import { md5 } from "@/utils/md5.js"
  import pcm from "pcm-util"
錄音
    // 獲取錄音權(quán)限
    this.getRecordAuth()
    // 獲取錄音對(duì)象
    const that = this;
    this.recorderManager = wx.getRecorderManager()
    this.recorderManager.onStart(() => {
      console.log("recorder start")
    })
    // 錄音的格式參數(shù)
     const options = {
      duration: 11000,
      sampleRate: 32000,
      numberOfChannels: 1,
      encodeBitRate: 64000,
      format: "mp3",
      frameSize: 6
    }
    this.recorderManager.start(options)
    this.recorderManager.onStop(res => {
      const tempFilePath = res.tempFilePath
      that.duration = res.duration
      const fs = wx.getFileSystemManager()
      console.log("record stop")
      console.log(res)
      // 從臨時(shí)文件中讀取音頻
      fs.readFile({
        filePath: tempFilePath,
        success (res) {
          console.log("read success")
          that.mp3ToPcm(res.data)
        },
        fail (e) {
          console.log("read fail")
          console.log(e)
        }
      })
    })


轉(zhuǎn)格式
mp3ToPcm (mp3AB) {
    var that = this
    var decoder = Mp3.newDecoder(mp3AB)
    var pcmArrayBuffer = decoder.decode()
    // 和錄音的格式一樣
    const fromFormat = {
      channels: 1,
      sampleRate: 32000,
      interleaved: true,
      float: false,
      samplesPerFrame: 1152,
      signed: true
    }
    // 目標(biāo)音頻的格式
    const toFormat = {
      channels: 1,
      sampleRate: 16000,
      bitDepth: 8,
      interleaved: true,
      float: false,
      samplesPerFrame: 576,
      signed: true
    }
    var pcmAB = pcm.convert(pcmArrayBuffer, fromFormat, toFormat)
    const base64 = wx.arrayBufferToBase64(pcmAB)
    var millTime = (new Date().setMilliseconds(0) / 1000) + ""
    /** 調(diào)用科大訊飛平臺(tái)的語音識(shí)別
        請(qǐng)求參數(shù)都是自己申請(qǐng)應(yīng)用的參數(shù)
    */
    wx.request({
      url: "http://api.xfyun.cn/v1/service/v1/iat",
      method: "POST",
      data: {
        audio: base64
      },
      header: {
        "X-Appid": "5be4162d",    
        "X-CurTime": millTime,
        "X-Param": "eyJlbmdpbmVfdHlwZSI6ICJzbXMxNmsiLCJhdWUiOiAicmF3In0=",
        "X-CheckSum": md5("b243cb9e1ea9d9eb40847967a8ebeef2" + millTime + "eyJlbmdpbmVfdHlwZSI6ICJzbXMxNmsiLCJhdWUiOiAicmF3In0="),
        "content-type": "application/x-www-form-urlencoded" // 默認(rèn)值
      },
      success (res) {
        console.log("turn success")
        console.log(res)
        console.log(res.data)
      },
      fail: function (res) {
        console.log("turn fail")
        console.log(res)
      }
    })
  }
},

注意:

首先在科大訊飛平臺(tái)申應(yīng)用申請(qǐng)應(yīng)用

請(qǐng)求參數(shù)的文檔語音識(shí)別的接口文檔

錄音一定在真機(jī)上測試,模擬器不行

js-mp3
pcm工具包

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/101852.html

相關(guān)文章

  • 齊心好視通業(yè)內(nèi)首發(fā)云會(huì)議信小程序及MeetingBox Pro智能會(huì)議終端

    摘要:月日下午,齊心好視通智無界新跨越新品發(fā)布會(huì)在齊心集團(tuán)總部發(fā)布廳隆重舉行。同時(shí),我們也是業(yè)內(nèi)首家在微信小程序上實(shí)現(xiàn)實(shí)時(shí)音視頻與視頻會(huì)議會(huì)議硬件終端通信的廠商齊心好視通微信小程序產(chǎn)品經(jīng)理梁娟蘭表示。12月27日下午,齊心好視通智無界·新跨越新品發(fā)布會(huì)在齊心集團(tuán)總部發(fā)布廳隆重舉行。會(huì)議吸引了來自行業(yè)專家、生態(tài)合作伙伴、新聞媒體、投資機(jī)構(gòu)等在內(nèi)的多名人士參加,現(xiàn)場火爆,座無虛席。齊心集團(tuán)副總裁兼好視...

    BearyChat 評(píng)論0 收藏0
  • 10分鐘上線 - 利用函數(shù)計(jì)算構(gòu)建信小程序的Server端

    摘要:本文以開發(fā)一個(gè)類似語音口令紅包小程序?yàn)槔?,向您講解如何使用阿里云函數(shù)計(jì)算快速構(gòu)建微信小程序的服務(wù)端。 前言 這篇文章適合所有的想微信小程序開發(fā)新手、老鳥以及想準(zhǔn)備學(xué)習(xí)開發(fā)微信小程序的程序猿。本文以開發(fā)一個(gè)類似語音口令紅包小程序?yàn)槔?,向您講解如何使用阿里云函數(shù)計(jì)算快速構(gòu)建微信小程序的服務(wù)端。通過本文,您將會(huì)了解以下內(nèi)容: demo概覽 傳統(tǒng)服務(wù)器架構(gòu) VS Serverless架構(gòu) S...

    levinit 評(píng)論0 收藏0
  • 10分鐘上線 - 利用函數(shù)計(jì)算構(gòu)建信小程序的Server端

    摘要:本文以開發(fā)一個(gè)類似語音口令紅包小程序?yàn)槔蚰v解如何使用阿里云函數(shù)計(jì)算快速構(gòu)建微信小程序的服務(wù)端。 前言 這篇文章適合所有的想微信小程序開發(fā)新手、老鳥以及想準(zhǔn)備學(xué)習(xí)開發(fā)微信小程序的程序猿。本文以開發(fā)一個(gè)類似語音口令紅包小程序?yàn)槔?,向您講解如何使用阿里云函數(shù)計(jì)算快速構(gòu)建微信小程序的服務(wù)端。通過本文,您將會(huì)了解以下內(nèi)容: demo概覽 傳統(tǒng)服務(wù)器架構(gòu) VS Serverless架構(gòu) S...

    darryrzhong 評(píng)論0 收藏0
  • 10分鐘上線 - 利用函數(shù)計(jì)算構(gòu)建信小程序的Server端

    摘要:摘要阿里云函數(shù)計(jì)算是一個(gè)事件驅(qū)動(dòng)的全托管計(jì)算服務(wù)。微信小程序是一種不需要下載安裝即可使用的應(yīng)用,它可以在微信內(nèi)被便捷地獲取和傳播。本文以開發(fā)一個(gè)類似語音口令紅包小程序?yàn)槔?,向您講解如何使用阿里云函數(shù)計(jì)算快速構(gòu)建微信小程序的服務(wù)端。 摘要: 阿里云函數(shù)計(jì)算是一個(gè)事件驅(qū)動(dòng)的全托管計(jì)算服務(wù)。通過函數(shù)計(jì)算,您無需管理服務(wù)器等基礎(chǔ)設(shè)施,只需編寫代碼并上傳。微信小程序是一種不需要下載安裝即可使用的...

    geekzhou 評(píng)論0 收藏0
  • 10分鐘上線 - 利用函數(shù)計(jì)算構(gòu)建信小程序的Server端

    摘要:摘要阿里云函數(shù)計(jì)算是一個(gè)事件驅(qū)動(dòng)的全托管計(jì)算服務(wù)。微信小程序是一種不需要下載安裝即可使用的應(yīng)用,它可以在微信內(nèi)被便捷地獲取和傳播。本文以開發(fā)一個(gè)類似語音口令紅包小程序?yàn)槔?,向您講解如何使用阿里云函數(shù)計(jì)算快速構(gòu)建微信小程序的服務(wù)端。 摘要: 阿里云函數(shù)計(jì)算是一個(gè)事件驅(qū)動(dòng)的全托管計(jì)算服務(wù)。通過函數(shù)計(jì)算,您無需管理服務(wù)器等基礎(chǔ)設(shè)施,只需編寫代碼并上傳。微信小程序是一種不需要下載安裝即可使用的...

    galois 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

閱讀需要支付1元查看
<