真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

微信小程序和百度的語(yǔ)音識(shí)別接口詳解

介紹

成都創(chuàng)新互聯(lián)主要從事做網(wǎng)站、網(wǎng)站制作、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)將樂(lè),十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來(lái)電咨詢建站服務(wù):18982081108

因?yàn)轫?xiàng)目需要,使用到了微信小程序和百度的語(yǔ)音接口 現(xiàn)在將項(xiàng)目中的一個(gè)小模塊拿出來(lái)單獨(dú)分享.

技術(shù)關(guān)鍵字

  1. 微微信小程序
  2. 百度語(yǔ)音接口
  3. nodejs,express
  4. fluent-ffmegp

環(huán)境

  1. windows 10
  2. vs code 1.20.1
  3. 微信小程序開(kāi)發(fā)工具 1.02.1802270
  4. 花生殼-提供域名和內(nèi)容穿透-用于方便本地遠(yuǎn)程調(diào)試微信小程序

考慮到業(yè)務(wù)并不復(fù)雜,所以就將所有的代碼都放在一個(gè)頁(yè)面就可以了(wxml,wxss,js統(tǒng)稱為一個(gè)頁(yè)面)

文件目錄

微信小程序和百度的語(yǔ)音識(shí)別接口詳解

頁(yè)面

微信小程序和百度的語(yǔ)音識(shí)別接口詳解

index.wxml



 你說(shuō)的話是:
 
 {{msg}}
 

index.js

// 錄音對(duì)象
const recorderManager = wx.getRecorderManager();

function sendRecord(src) {
 var obj = {
 // 已經(jīng)在花生殼中映射到本地端口-3001 
 url: "http://xxx:34306/post",
 filePath: src,
 name: "fffile",
 header: {
  'Content-Type': 'application/json'
 },
 success: function (result) {
  var data = JSON.parse(result.data);
  // msg 為最終語(yǔ)音識(shí)別的字符串
  var msg = data.result;
  // 獲取當(dāng)前頁(yè)面對(duì)象
  var page = getCurrentPages()[0];
  page.setData({ msg: msg });
 },
 fail: function (err) {
  console.log(err);
 }
 };
 wx.uploadFile(obj)
}

// 結(jié)束錄音的時(shí)候觸發(fā) 
recorderManager.onStop((res) => {
 // 獲取文件路徑-提交到后臺(tái)-后臺(tái)發(fā)送到百度
 sendRecord(res.tempFilePath);
})

recorderManager.onError((res) => {
 console.log("error", res);
});

Page({

 /**
 * 頁(yè)面的初始數(shù)據(jù)
 */
 data: {
 msg: ""
 },
 // 按下按鈕的時(shí)候觸發(fā)
 startrecorderHandel() {
 // 開(kāi)始錄音
 recorderManager.start({
 });
 },
 // 松開(kāi)按鈕的時(shí)候觸發(fā)-發(fā)送錄音
 sendrecorderHandel() {
 // 結(jié)束錄音
 recorderManager.stop();
 },

 /**
 * 生命周期函數(shù)--監(jiān)聽(tīng)頁(yè)面加載
 */
 onLoad: function (options) {
 wx.authorize({
  scope: 'record'
 })
 }
})

后臺(tái)nodejs接口文件目錄

微信小程序和百度的語(yǔ)音識(shí)別接口詳解

index.js

var express = require('express');
var app = express();
var fs = require('fs');
var Multiparty = require('multiparty');
// 轉(zhuǎn)碼工具
var ffmpeg = require('fluent-ffmpeg');
var AipSpeechClient = require("baidu-aip-sdk").speech;

// #region 創(chuàng)建百度授權(quán) 
// 設(shè)置APPID/AK/SK
var APP_ID = "xxx";
var API_KEY = "xxx";
var SECRET_KEY = "xxx";

// 百度請(qǐng)求對(duì)象
var client = new AipSpeechClient(APP_ID, API_KEY, SECRET_KEY);


// 新建一個(gè)對(duì)象,建議只保存一個(gè)對(duì)象調(diào)用服務(wù)接口
app.post('/post', function (req, res, next) {
 //生成multiparty對(duì)象,并配置上傳目標(biāo)路徑
 var form = new Multiparty.Form({
 uploadDir: 'uploads/'
 });
 //上傳完成后處理
 form.parse(req, function (err, fields, files) {
 var filesTemp = JSON.stringify(files, null, 2);
 var inputFile = files.fffile[0];
 var uploadedPath = inputFile.path;
 var command = ffmpeg();
 command.addInput(uploadedPath)
  // 將1.aac 變?yōu)?.wav
  .save(uploadedPath.slice(0, -3) + "wav")
  .on('error', function (err) {
  console.log(err);
  })
  .on('end', function () {
  // 將錄音文件轉(zhuǎn)為buffer
  var voice = fs.readFileSync(uploadedPath.slice(0, -3) + "wav");
  var voiceBuffer = new Buffer(voice);

  // 發(fā)送buffer到百度接口 返回語(yǔ)音對(duì)應(yīng)的字符串
  client.recognize(voiceBuffer, 'wav', 16000).then(function (result) {
   console.log(': ' + JSON.stringify(result));
   res.end(JSON.stringify(result));
  }, function (err) {
   console.log(err);
  });
  });
 });
});
var server = app.listen(3001, function () {
 var host = server.address().address;
 var port = server.address().port;
 console.log('Example app listening at http://%s:%s', host, port);
});

啟動(dòng)

下載項(xiàng)目

git clone https://github.com/itcastWsy/wx_baidu.git

使用微信小程序打開(kāi) 微信前臺(tái) 目錄

配置 后臺(tái)的接口地址

微信小程序和百度的語(yǔ)音識(shí)別接口詳解

打開(kāi) 微信nodejs后臺(tái) 后臺(tái)文件夾

輸入 npm i 安裝依賴

輸入 命令 啟動(dòng)項(xiàng)目 npm run start

微信小程序和百度的語(yǔ)音識(shí)別接口詳解

手機(jī)微信掃一掃小程序 - 語(yǔ)音輸入 “大吉大利”

微信小程序和百度的語(yǔ)音識(shí)別接口詳解

注意事項(xiàng)

當(dāng)使用微信開(kāi)發(fā)工具 發(fā)送的語(yǔ)音文件的格式是 aac,但是使用手機(jī)微信發(fā)送的格式是 m4a 這里直接處理的是m4a 轉(zhuǎn)碼工具是ffmpeg

關(guān)于花生殼,如果不使用也可以,只不過(guò)需要自己代碼提交到有外網(wǎng)域名的服務(wù)器上接口,注意 開(kāi)發(fā)階段需要打開(kāi)小程序開(kāi)發(fā)工具內(nèi)的 不校驗(yàn)安全域名….的選項(xiàng)

微信小程序和百度的語(yǔ)音識(shí)別接口詳解

當(dāng)調(diào)用百度接口的時(shí)候,需要填寫(xiě)上自己的相關(guān)信息

微信小程序和百度的語(yǔ)音識(shí)別接口詳解

以上所述是小編給大家介紹的微信小程序和百度的語(yǔ)音識(shí)別接口詳解整合,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)創(chuàng)新互聯(lián)網(wǎng)站的支持!


網(wǎng)站欄目:微信小程序和百度的語(yǔ)音識(shí)別接口詳解
網(wǎng)站鏈接:http://weahome.cn/article/poggpe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部