我在这个结构中有一个blob数据:
Blob {type: "audio/wav", size: 655404, slice: function}
size: 655404
type: "audio/wav"
__proto__: Blob
Run Code Online (Sandbox Code Playgroud)
它实际上是使用最近的Chrome getUerMedia()和Recorder.js记录的声音数据
如何使用jquery的post方法将此blob上传到服务器?我没试过就试过这个:
$.post('http://localhost/upload.php', { fname: "test.wav", data: soundBlob },
function(responseText) {
console.log(responseText);
});
Run Code Online (Sandbox Code Playgroud) 我正在尝试捕获audiorecorder(https://github.com/cwilso/AudioRecorder)并通过Ajax发送blob一个php文件,它将接收blob内容并创建文件(在这种情况下为wave文件).
Ajax调用:
audioRecorder.exportWAV(function(blob) {
var url = (window.URL || window.webkitURL).createObjectURL(blob);
console.log(url);
var filename = <?php echo $filename;?>;
$.ajaxFileUpload({
url : "lib/vocal_render.php",
secureuri :false,
dataType : blob.type,
data: blob,
success: function(data, status) {
if(data.status != 'error')
alert("boa!");
}
});
});
Run Code Online (Sandbox Code Playgroud)
和我的php文件(vocal_render.php):
<?php
if(!empty($_POST)){
$data = implode($_POST); //transforms the char array with the blob url to a string
$fname = "11" . ".wav";
$file = fopen("../ext/wav/testes/" .$fname, 'w');
fwrite($file, $data);
fclose($file);
}?>
Run Code Online (Sandbox Code Playgroud)
PS:我是blob和ajax的新手.提前致谢.
我需要在我正在进行的项目中使用录音机,并且必须在以后收听录制的声音.该项目由c#和asp.net mvc开发.
http://demos.subinsb.com/jquery/voice/
我正在上面的链接中使用录像机系统.单击"下载"时,将为您提供文件.wav格式.它被下载到您的计算机,但我想将其保存到服务器.
该项目的源代码可在链接下方找到.
http://demos.subinsb.com/down.php?id=s/rvx90xq1xtpak3xc647n&class=31
我调查jquery代码:当您单击下载时
$(document).on("click", "#download:not(.disabled)", function () {
$.voice.export(function (url) {
$("<a href='" + url + "'download='MyRecording.wav'></a>")[0].click();
}, "URL");
restore(); });
Run Code Online (Sandbox Code Playgroud)
它正在使用此功能.函数中的url参数响应链接为
blob:http%3A//localhost%3A1875/146432b2-8b1b-4eef-8d77-1fdbc8fc74c9
Run Code Online (Sandbox Code Playgroud)
当你在播放器wav文件中使用adres工作但是播放器stil中的src有以下代码
blob:http%3A//localhost%3A1875/146432b2-8b1b-4eef-8d77-1fdbc8fc74c9
Run Code Online (Sandbox Code Playgroud)
题:
如何将声音文件保存到服务器.我无法从本网站的问题和一般在互联网上找到任何解决方案:)
1 - 我必须使用Jquery Ajax将哪个参数发送给控制器?
2 - 如何在控制器端将该参数转换为wav或mp3格式?
从现在开始,非常感谢你们:)
jquery ×3
blob ×2
ajax ×1
asp.net-mvc ×1
audio ×1
c# ×1
file-upload ×1
html5 ×1
javascript ×1
wave ×1