首页

语音识别:微信小程序开发示例(科大讯飞)

java

2020-6-26

微信小程序开发

本实例将会介绍微信小程序中的录音接口,音频接口,以及讯飞语音识别接口,其中,通过nodejs搭建的后台连接微信小程序和讯飞语音实现个人语音助理

// 获取录音管理器对象
const recorderManager = wx.getRecorderManager();
// 当前页面的对象
let myPage;



// 结束录音的时候自己触发
recorderManager.onStop((res) => {
  
  // 获取到了录音文件的路径
  const { tempFilePath } = res;
  // console.log(tempFilePath);

  console.log("开始发送");
  // 把录音发送到后台
  wx.uploadFile({  
    url:"http://yeah126139163.vicp.cc:33071/smart_order",
    filePath: tempFilePath,
    name:"wx_record",
    success:function(r){
      // console.log("成功",r);
      var result=JSON.parse(r.data);

      // 判断返回的状态
      if(result.code=="00000"){
        console.log(result.data);
        switch (result.data.service){
          case "weather":
          myPage.setData({iSay:result.data.text});
          myPage.setData({ xfSay: result.data.answer.text });
          sayWord(result.data.answer.text);
          break;
          default:
          break;
        }
      }else{
        // 失败
      }
    },
    fail:function(e){
      console.log("失败",e);
    }
  });

})  

function sayWord(msg){
  // console.log(msg);
  msg=msg.replace(/"/g,"");
  wx.request({
    url: `http://www.xfyun.cn/herapi/solution/synthesis?vcn=x_xiaofeng&vol=7&spd=medium&textPut=${msg}&textType=cn`,
    success:function(r){
      // console.log("文字转语音",r);
      var result=r.data;
      var url=result.data;
      myPage.audioCtx.setSrc(url);
      myPage.audioCtx.play()
    },
    fail:function(e){
      console.log(e)   
    }
  })
}


Page({

  /**
   * 页面的初始数据
   */
  data: {
    iSay:"",
    xfSay:""
  },

  // 按下录音
  start_say(){
    // console.log(1)

  // 开始录音
    recorderManager.start();
  },

  // 结束录音
  end_say(){
    // console.log(2)
    // 结束录音
    recorderManager.stop();
    
  },
  onReady: function () {
    this.audioCtx = wx.createAudioContext('myAudio');
    myPage = getCurrentPages()[0]
   
  },

})
资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
api/index.js , 2862
api/jsons/╠∞╞°.json , 3690
api/jsons/╣π▓Ñ.json , 6323
api/jsons/╨ª╗░.json , 7803
api/node_modules/.bin/mime , 293
api/node_modules/.bin/mime.cmd , 170
api/node_modules/.bin/which , 301
api/node_modules/.bin/which.cmd , 178
api/node_modules/accepts/HISTORY.md , 4736
api/node_modules/accepts/LICENSE , 1167
api/node_modules/accepts/README.md , 4130
api/node_modules/accepts/index.js , 5252
api/node_modules/accepts/package.json , 2307
api/node_modules/array-flatten/LICENSE , 1103
api/node_modules/array-flatten/README.md , 1245
api/node_modules/array-flatten/array-flatten.js , 1195
api/node_modules/array-flatten/package.json , 1685
api/node_modules/async/CHANGELOG.md , 28806
api/node_modules/async/LICENSE , 1063
api/node_modules/async/README.md , 2302
api/node_modules/async/all.js , 1680
api/node_modules/async/allLimit.js , 1545
api/node_modules/async/allSeries.js , 1275
api/node_modules/async/any.js , 1758
api/node_modules/async/anyLimit.js , 1592
api/node_modules/async/anySeries.js , 1314
api/node_modules/async/apply.js , 1843
api/node_modules/async/applyEach.js , 1779
api/node_modules/async/applyEachSeries.js , 1285
api/node_modules/async/asyncify.js , 3500
api/node_modules/async/auto.js , 9844
api/node_modules/async/autoInject.js , 6481
api/node_modules/async/bower.json , 245
api/node_modules/async/cargo.js , 4651
api/node_modules/async/compose.js , 1561
api/node_modules/async/concat.js , 1588
api/node_modules/async/concatLimit.js , 2162
api/node_modules/async/concatSeries.js , 1272
api/node_modules/async/constant.js , 1760
api/node_modules/async/detect.js , 2208
api/node_modules/async/detectLimit.js , 1760
api/node_modules/async/detectSeries.js , 1353
api/node_modules/async/dir.js , 1294
api/node_modules/async/dist/async.js , 184505
api/node_modules/async/dist/async.min.js , 23911
api/node_modules/async/dist/async.min.map , 41102
api/node_modules/async/doDuring.js , 2183
api/node_modules/async/doUntil.js , 1374
api/node_modules/async/doWhilst.js , 2064
api/node_modules/async/during.js , 2201
api/node_modules/async/each.js , 2836
api/node_modules/async/eachLimit.js , 1568
api/node_modules/async/eachOf.js , 3368
api/node_modules/async/eachOfLimit.js , 1418
api/node_modules/async/eachOfSeries.js , 1137
api/node_modules/async/eachSeries.js , 1206
api/node_modules/async/ensureAsync.js , 2515
api/node_modules/async/every.js , 1680
api/node_modules/async/everyLimit.js , 1545
api/node_modules/async/everySeries.js , 1275
api/node_modules/async/filter.js , 1524
api/node_modules/async/filterLimit.js , 1344
api/node_modules/async/filterSeries.js , 1236
api/node_modules/async/find.js , 2208
api/node_modules/async/findLimit.js , 1760
api/node_modules/async/findSeries.js , 1353
api/node_modules/async/foldl.js , 2676
api/node_modules/async/foldr.js , 1536
api/node_modules/async/forEach.js , 2836
api/node_modules/async/forEachLimit.js , 1568
api/node_modules/async/forEachOf.js , 3368
api/node_modules/async/forEachOfLimit.js , 1418
api/node_modules/async/forEachOfSeries.js , 1137
api/node_modules/async/forEachSeries.js , 1206
api/node_modules/async/forever.js , 1941
api/node_modules/async/groupBy.js , 2131
api/node_modules/async/groupByLimit.js , 2379
api/node_modules/async/groupBySeries.js , 1347
api/node_modules/async/index.js , 19503
api/node_modules/async/inject.js , 2676
api/node_modules/async/internal/DoublyLinkedList.js , 2340
api/node_modules/async/internal/applyEach.js , 1056
api/node_modules/async/internal/breakLoop.js , 226
api/node_modules/async/internal/consoleFunc.js , 1227
api/node_modules/async/internal/createTester.js , 1284
api/node_modules/async/internal/doLimit.js , 293
api/node_modules/async/internal/doParallel.js , 600
api/node_modules/async/internal/doParallelLimit.js , 653
api/node_modules/async/internal/eachOfLimit.js , 1912
api/node_modules/async/internal/filter.js , 2174
api/node_modules/async/internal/findGetResult.js , 200
api/node_modules/async/internal/getIterator.js , 307
api/node_modules/async/internal/initialParams.js , 514
api/node_modules/async/internal/iterator.js , 1462
api/node_modules/async/internal/map.js , 903
api/node_modules/async/internal/notId.js , 180
api/node_modules/async/internal/once.js , 312
api/node_modules/async/internal/onlyOnce.js , 361
api/node_modules/async/internal/parallel.js , 1138
api/node_modules/async/internal/queue.js , 5780
api/node_modules/async/internal/reject.js , 541
api/node_modules/async/internal/setImmediate.js , 1021
api/node_modules/async/internal/slice.js , 407
api/node_modules/async/internal/withoutIndex.js , 284
api/node_modules/async/internal/wrapAsync.js , 616
api/node_modules/async/log.js , 1194
api/node_modules/async/map.js , 2081
api/node_modules/async/mapLimit.js , 1314
api/node_modules/async/mapSeries.js , 1209
api/node_modules/async/mapValues.js , 2241
api/node_modules/async/mapValuesLimit.js , 2037
api/node_modules/async/mapValuesSeries.js , 1328
api/node_modules/async/memoize.js , 3232
api/node_modules/async/nextTick.js , 1447
api/node_modules/async/package.json , 3286
api/node_modules/async/parallel.js , 3100
api/node_modules/async/parallelLimit.js , 1422
api/node_modules/async/priorityQueue.js , 3104
api/node_modules/async/queue.js , 5855
api/node_modules/async/race.js , 2162
api/node_modules/async/reduce.js , 2676
api/node_modules/async/reduceRight.js , 1536
api/node_modules/async/reflect.js , 2379
api/node_modules/async/reflectAll.js , 2795
api/node_modules/async/reject.js , 1448
api/node_modules/async/rejectLimit.js , 1266
api/node_modules/async/rejectSeries.js , 1158
api/node_modules/async/retry.js , 5435
api/node_modules/async/retryable.js , 2025
api/node_modules/async/select.js , 1524
api/node_modules/async/selectLimit.js , 1344
api/node_modules/async/selectSeries.js , 1236
api/node_modules/async/seq.js , 2986
api/node_modules/async/series.js , 2937
api/node_modules/async/setImmediate.js , 1389
api/node_modules/async/some.js , 1758
api/node_modules/async/someLimit.js , 1592
api/node_modules/async/someSeries.js , 1314
api/node_modules/async/sortBy.js , 2829
api/node_modules/async/timeout.js , 2776
api/node_modules/async/times.js , 1459
api/node_modules/async/timesLimit.js , 1393
api/node_modules/async/timesSeries.js , 1021
api/node_modules/async/transform.js , 2715
api/node_modules/async/tryEach.js , 2560
api/node_modules/async/unmemoize.js , 681
api/node_modules/async/until.js , 1446
api/node_modules/async/waterfall.js , 3343
api/node_modules/async/whilst.js , 2191
api/node_modules/async/wrapSync.js , 3500
api/node_modules/body-parser/HISTORY.md , 13985
最多只能显示150条信息!
没有账号? 忘记密码?

社交账号快速登录