91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

微信小程序和百度的語音識別接口詳解

發布時間:2020-08-19 19:21:36 來源:腳本之家 閱讀:227 作者:愛笑的眼睛11 欄目:web開發

介紹

因為項目需要,使用到了微信小程序和百度的語音接口 現在將項目中的一個小模塊拿出來單獨分享.

技術關鍵字

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

環境

  1. windows 10
  2. vs code 1.20.1
  3. 微信小程序開發工具 1.02.1802270
  4. 花生殼-提供域名和內容穿透-用于方便本地遠程調試微信小程序

考慮到業務并不復雜,所以就將所有的代碼都放在一個頁面就可以了(wxml,wxss,js統稱為一個頁面)

文件目錄

微信小程序和百度的語音識別接口詳解

頁面

微信小程序和百度的語音識別接口詳解

index.wxml

<button type='default' bindtouchstart='startrecorderHandel' bindtouchend="sendrecorderHandel">開始8錄音</button>
<view>
 你說的話是:
 <view>
 {{msg}}
 </view>
</view>

index.js

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

function sendRecord(src) {
 var obj = {
 // 已經在花生殼中映射到本地端口-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 為最終語音識別的字符串
  var msg = data.result;
  // 獲取當前頁面對象
  var page = getCurrentPages()[0];
  page.setData({ msg: msg });
 },
 fail: function (err) {
  console.log(err);
 }
 };
 wx.uploadFile(obj)
}

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

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

Page({

 /**
 * 頁面的初始數據
 */
 data: {
 msg: ""
 },
 // 按下按鈕的時候觸發
 startrecorderHandel() {
 // 開始錄音
 recorderManager.start({
 });
 },
 // 松開按鈕的時候觸發-發送錄音
 sendrecorderHandel() {
 // 結束錄音
 recorderManager.stop();
 },

 /**
 * 生命周期函數--監聽頁面加載
 */
 onLoad: function (options) {
 wx.authorize({
  scope: 'record'
 })
 }
})

后臺nodejs接口文件目錄

微信小程序和百度的語音識別接口詳解

index.js

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

// #region 創建百度授權 
// 設置APPID/AK/SK
var APP_ID = "xxx";
var API_KEY = "xxx";
var SECRET_KEY = "xxx";

// 百度請求對象
var client = new AipSpeechClient(APP_ID, API_KEY, SECRET_KEY);


// 新建一個對象,建議只保存一個對象調用服務接口
app.post('/post', function (req, res, next) {
 //生成multiparty對象,并配置上傳目標路徑
 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 變為1.wav
  .save(uploadedPath.slice(0, -3) + "wav")
  .on('error', function (err) {
  console.log(err);
  })
  .on('end', function () {
  // 將錄音文件轉為buffer
  var voice = fs.readFileSync(uploadedPath.slice(0, -3) + "wav");
  var voiceBuffer = new Buffer(voice);

  // 發送buffer到百度接口 返回語音對應的字符串
  client.recognize(voiceBuffer, 'wav', 16000).then(function (result) {
   console.log('<recognize>: ' + 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);
});

啟動

下載項目

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

使用微信小程序打開 微信前臺 目錄

配置 后臺的接口地址

微信小程序和百度的語音識別接口詳解

打開 微信nodejs后臺 后臺文件夾

輸入 npm i 安裝依賴

輸入 命令 啟動項目 npm run start

微信小程序和百度的語音識別接口詳解

手機微信掃一掃小程序 - 語音輸入 “大吉大利”

微信小程序和百度的語音識別接口詳解

注意事項

當使用微信開發工具 發送的語音文件的格式是 aac,但是使用手機微信發送的格式是 m4a 這里直接處理的是m4a 轉碼工具是ffmpeg

關于花生殼,如果不使用也可以,只不過需要自己代碼提交到有外網域名的服務器上接口,注意 開發階段需要打開小程序開發工具內的 不校驗安全域名….的選項

微信小程序和百度的語音識別接口詳解

當調用百度接口的時候,需要填寫上自己的相關信息

微信小程序和百度的語音識別接口詳解

以上所述是小編給大家介紹的微信小程序和百度的語音識別接口詳解整合,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對億速云網站的支持!

向AI問一下細節

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

AI

乌拉特后旗| 通城县| 罗甸县| 澄城县| 景东| 甘德县| 元阳县| 云阳县| 抚州市| 平阳县| 新宾| 巴东县| 化隆| 穆棱市| 威宁| 肇源县| 建阳市| 盐源县| 和硕县| 绥滨县| 公安县| 永州市| 奇台县| 青河县| 兴义市| 县级市| 麦盖提县| 综艺| 博客| 色达县| 广南县| 自治县| 武鸣县| 固始县| 遂昌县| 全椒县| 拜城县| 阜新| 永登县| 彭州市| 新田县|