spy*_*yfx 3 html javascript flash audio jquery
我知道某些浏览器不支持 getUserMedia(),因此我必须或多或少地使用基于 Flash 的录音机。通过 POST 将捕获的音频上传到服务器对我来说非常重要,即使我可以访问客户端捕获的音频也会非常棒。那么你们知道有一个库/插件/扩展可以做到这一点吗?
我还发现了一些脚本,例如:
https://github.com/mattdiamond/Recorderjs
https://github.com/jwagener/recorder.js/
但上传不起作用。我不知道我该如何继续。
您可以将记录的数据保存为 blob,然后使用 FileReader 通过 AJAX 的 POST 上传数据。
类似的事情是这样的:
function uploadAudio(mp3Data){
var reader = new FileReader();
reader.onload = function(event){
var fd = new FormData();
var mp3Name = encodeURIComponent('audio_recording_' + new Date().getTime() + '.mp3');
console.log("mp3name = " + mp3Name);
fd.append('fname', mp3Name);
fd.append('data', event.target.result);
$.ajax({
type: 'POST',
url: 'upload.php',
data: fd,
processData: false,
contentType: false
}).done(function(data) {
//console.log(data);
log.innerHTML += "\n" + data;
});
};
reader.readAsDataURL(mp3Data);
}
Run Code Online (Sandbox Code Playgroud)
此代码直接取自 gitHub 项目 Recordmp3js,此处可用: https: //github.com/nusofthq/Recordmp3js
它仅使用 HTML5 和 JS 录制音频并将其保存为 MP3 格式,然后将数据上传到网络服务器上。
但它仅适用于 Chrome 和 Firefox。