所以我注意到我的javascript中有一些奇怪的行为,我想了解原因。 在下面的代码中,我使用RecordRTC.js library这是一个WebRTC库来录制视频。一切都按预期运行,直到我停止录制。然后运行以下功能。
function endRcrd(rrtc, video) {
rrtc.stopRecording(function(videoURL) {
video.src = videoURL;
var blob = rrtc.blob;
var fileType = 'video';
var formData = new FormData();
formData.append(fileType + '-blob', blob);
s.onclick = function(formData) {
var pathV;
xhr('../save.php', formData, function (fileURL) { pathV = fileURL; }); // this line
s.innerHTML = "Saved";
console.log("formData: "); // and this line
};
});
}
我不理解的是,有两行代码,当一个或另一个被注释掉时,它运行正常。但是当两者都存在时,它会因此错误而失败:
Media resource blob:https://mywebsite.org/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx could not be decoded.
这两行是:
xhr('../save.php', formData, function (fileURL) { pathV = fileURL; });
和
console.log("formData: ");
这些都在我的点击处理程序s.onclick
中
我想这是一个编译器错误,因为在我单击我的保存按钮(“s”)之前不会执行此代码。但是为什么只有两个中的一个而不仅仅是一个或两个?