不多嘚嘚,直接上代码
<script>
var rec;
function startRec() {
rec = Recorder();//使用默认配置,mp3格式
rec.open(function () {
//开始录音
rec.start();
}, function (msg, isUserNotAllow) {
alert((isUserNotAllow ? "用户拒绝了权限," : "") + "无法录音:" + msg);
});
};
</script>
<script>
function uploadRec() {
rec.stop(function (blob, duration) {
var form = new FormData();
form.append("file", blob, "recorder.mp3");
var xhr = new XMLHttpRequest();
xhr.open("post", "http://localhost:9900");
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
alert("上传成功");
}
}
xhr.send(form);
}, function (msg) {
alert("录音失败:" + msg);
});
};</script>
这是两个js函数,就是录音和结束录音并上传的。xhr.open("post", "http://localhost:9900");
这个就是把里面的ip改为你自己服务器的就行。
<input type="button" class="btn btn-lg btn-primary" onclick="startRec()" value="开始录音">
<input type="button" class="btn btn-lg btn-primary" onclick="uploadRec()" value="结束并上传">
这是调用函数的部分,可以实现上传。后台写一个接收的函数就可以实现了。