我正在使用Asp.Mvc和recorder.js从视图中捕获音频,使用
将生成的blob转换为urlUrl=Url.createobjecturl(blop);
然后将网址发送到服务器。
现在的问题是,当我将url发送回客户端并尝试在音频元素中播放它作为src时,它会发出404 not found错误。
请你的想法......
编辑:
我的代码是这样的:
setInterval(function () {
if (canvas) {
dataUrl = canvas.toDataURL();
recorder && recorder.exportWAV(handleWAV.bind(this));
recorder.clear();
fd = new FormData();
fd.append("audio", audioUrl);
fd.append("id", id);
fd.append("drawing", dataUrl);
xhr = new XMLHttpRequest();
xhr.open("POST", "/Session/UploadData", true);
xhr.send(fd);
}
}, 100);
我将画布drawingUrl和audioUrl发送到服务器并在另一个视图中再次获取它们
setInterval(function () {
if (ctx) {
$.ajax({
url: "/Session/DownloadData/" + id
})
.done(function (data) {
x = data;
var imageObj = new Image();
imageObj.src = data["drawing"];
ctx.drawImage(imageObj, 0, 0);
audioElement.src = data["audio"]; //error thrown here
audioElement.play();
});
}, 100);
画布绘图显得很好,但音频却没有。
忘了提到错误只是在发送url并从服务器返回之后才发生,但是如果我在没有它的情况下直接在页面中播放url它会正常工作,是的,url从服务器返回与发送的值相同。
答案 0 :(得分:-1)
function display(vid){
var video = document.getElementById("video");
video.src = window.URL.createObjectURL(vid);
}