我正在尝试使用以下代码上传视频(音频+视频)。在本地我能够录制和观看视频,但不会上传到服务器。以下是我的代码。
// initialize Fine Uploader
var uploader = new qq.FineUploaderBasic({
debug: true,
autoUpload:true,
request: {
endpoint: 'https://192.168.0.104/rrtc/save.php'
},
validation: {
allowedExtensions: ['webm']
}
});
// setup videojs-record
var player = videojs('myAudio',
{
controls: true,
width: 600,
height: 300,
plugins: {
wavesurfer: {
src: 'live',
waveColor: 'black',
progressColor: '#2E732D',
cursorWidth: 1,
msDisplayMax: 20,
hideScrollbar: true
},
record: {
audio: true,
video: true,
maxLength: 5,
debug: true
}
}
});
// player error handling
player.on('deviceError', function()
{
console.warn('device error:', player.deviceErrorCode);
});
player.on('error', function(error)
{
console.log('error:', error);
});
// data is available
player.on('finishRecord', function()
{
// the blob object contains the audio data
var audioFile = player.recordedData;
console.log('finished recording: ', audioFile);
// upload data to server
var filesList = [audioFile];
console.log("F Lengh :"+filesList.length);
uploader.addFiles(filesList);
});
如果我将记录插件(音频和视频)中的任何1个选项更改为false,那么我可以将文件上传到服务器。但是,如果我尝试两个真正的选项,即视频:true,音频:true然后它没有上传。 控制台的屏幕截图添加到帖子。会出现什么问题?
编辑1:
- 请将this link作为我正在使用的原始来源。
- 视频标记<video id="myAudio" class="video-js vjs-default-skin"></video>
答案 0 :(得分:0)
根据您的控制台输出,您将数组传递给addFiles
,其中包含一个本身包含video
属性的对象,该属性为Blob
。几件事:
addFiles
添加一个文件,则无需传递数组。Blob
。相反,您传递的对象包含Blob
作为其属性之一。因此,您应该将audioFile.audio
(我假设)或videoFile.video
传递给addFiles
。