24、实现语音和视频支持

  • 实现语音和视频支持
    • 发送语音实现思路
    • 一、 采集语音
      • 二、 上传语音

发送语音实现思路

打开允许录音的权限

24、实现语音和视频支持 - 图1

然后把获取的录音上传到服务器,返回个公网可以访问路径

一、 采集语音

 
navigator.mediaDevices.getUserMedia({audio: true, video: true}).then(successfunc).catch(errfunc);
navigator.mediaDevices.getUserMedia({audio: true, video: false}).then(function(stream)  {//请求成功this.recorder = new MediaRecorder(stream);this.recorder.start();this.recorder.ondataavailable = (event) => {uploadblob("attach/upload",event.data,".mp3",res=>{//获取语音的长度var duration = Math.ceil((new Date().getTime()-this.duration)/1000);this.sendaudiomsg(res.data,duration);})stream.getTracks().forEach(function (track) {track.stop();});this.showprocess = false}}.bind(this)).catch(function(err){mui.toast(err.msg)this.showprocess = false}.bind(this));

二、 上传语音

function uploadblob(uri,blob,filetype,fn){var xhr = new XMLHttpRequest();xhr.open("POST","//"+location.host+"/"+uri, true);// 添加http头,发送信息至服务器时内容编码类型xhr.onreadystatechange = function() {if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 304)) {fn.call(this, JSON.parse(xhr.responseText));}};var _data=[];var formdata = new FormData();formdata.append("filetype",filetype);formdata.append("file",blob)xhr.send(formdata);}
 

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部