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

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

js實現錄音上傳功能的方法

小編給大家分享一下js實現錄音上傳功能的方法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

創(chuàng)新互聯建站-專業(yè)網站定制、快速模板網站建設、高性價比彭陽網站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫,直接使用。一站式彭陽網站制作公司更省心,省錢,快速模板網站建設找我們,業(yè)務覆蓋彭陽地區(qū)。費用合理售后完善,10余年實體公司更值得信賴。

本文實例為大家分享了js代碼實現錄音上傳,供大家參考,具體內容如下

1.html頁面
2.Recorder.js內容
3.flask寫法

1.html頁面




 
 




 開始錄音

 發(fā)送語音指令

 var reco = null;  var audio_context = new AudioContext();//音頻內容對象  navigator.getUserMedia = (navigator.getUserMedia ||   navigator.webkitGetUserMedia ||   navigator.mozGetUserMedia ||   navigator.msGetUserMedia); // 兼容其他瀏覽器  navigator.getUserMedia({audio: true}, create_stream, function (err) {   console.log(err)  });  function create_stream(user_media) {   var stream_input = audio_context.createMediaStreamSource(user_media);   reco = new Recorder(stream_input);  }  function start_reco() {   reco.record();  }  function ai_reco() {   reco.stop();   reco.exportWAV(function (wav_file) {    console.log(wav_file);    var formdata = new FormData(); // form 表單 {key:value}    formdata.append("audio", wav_file); // form input type="file"    $.ajax({     url: "/receive_audio",     type: 'post',     processData: false,     contentType: false,     data: formdata,     dataType: 'json',     success: function (data) {      console.log(data);      document.getElementById("player").src = "/get_audio/" + data.filename;     }    })   });   reco.clear();  }

2.Recorder.js內容

直接復制保存即可

(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.Recorder = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o

3.flask寫法

...
@app.route("/")
def index():
 return render_template("index.html")

@app.route("/receive_audio", methods=["POST"])
def receive_audio():
 file = request.files.get("audio")
 if file:
  filepath = os.path.join(BAISE_DIR, "data", "%s.m4a" % uuid4())
  file.save(filepath)

  text = baidu.auido2text(filepath)

  answer = tuling.chat(text)

  res = baidu.text2audio(answer)
  if res.get("err_no") == 200:
   return {"code": 200, "filename": res.get("filename")}

 return {"code": 201, "msg": "上傳失敗"}


@app.route("/get_audio/")
def get_audio(filename):
 return send_file(os.path.join(BAISE_DIR, "data", filename))

...

注意flask啟動ip寫成127.0.0.1 其他地址 js可能會報錯

以上是“js實現錄音上傳功能的方法”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道!


分享名稱:js實現錄音上傳功能的方法
文章分享:http://weahome.cn/article/pjphjs.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部