<input type="file" id="fileVideo" accept="video/*" capture="camcorder">
打开的是照相机
<input type="file" id="fileVideo" accept="video/*" capture="camcorder">
打开的是照相机
通过几位大神的指点成功完成
记录一下
已经解决了,H5+ 里面有api可以实现
首先用HBuilder创建一个新的项目,选择Hello H5+ 里面有调用本地摄像机的实例。可以对照自己的项目复制关键的代码(要注意的是需要把common.js复制到自己的项目里面)
下面是代码很大一部分可以直接复制来用
plusReady(){
let self = this;
// 获取摄像头目录对象
plus.io.resolveLocalFileSystemURL('_doc/', function(entry){
console.log('entryentry',entry)
entry.getDirectory('camera', {create:true}, function(dir){
}, function(e){
outSet('Get directory "camera" failed: '+e.message);
} );
}, function(e){
outSet('Resolve "_doc/" failed: '+e.message);
});
},
videoCapture(){
var cmr = null // 初始化变量
// 创建plus环境
if(window.plus) {
this.plusReady();
} else {
document.addEventListener('plusready', plusReady, false);
}
var cmr = plus.camera.getCamera();
var res = cmr.supportedVideoResolutions[0];
var fmt = cmr.supportedVideoFormats[0];
cmr.startVideoCapture( ( path)=>{
console.log( "Capture video success: " + path);
//创建请求
var task = plus.uploader.createUpload(process.env.VUE_APP_BASEURL + '/upladFile', {
method: "POST",
headers: {
"Content-Type": "multipart/form-data"
}
}, (t, status)=>{
//上传完成
if (status == 200) {
//上传成功
var ojbList = JSON.parse(t.responseText)
console.log("Upload success3: " + ojbList)
console.log("Upload success4: " + ojbList.resultCode)
if(ojbList.resultCode == '0'){
this.$message({
type: "success",
message: '上传成功'
});
})
console.log('.apopInjuredMp4List',this.apopInjuredMp4List)
}
}else{
// 上传失败
alert( "Upload failed: " + ojbList.resultMsg);
}
});
var token = getToken()//获取token
task.setRequestHeader('token',token);//token只能加在请求头里面
task.addFile(path, {key: "upfile"}); // 添加文件
task.addData( "emerId", this.emerId); //可以添加需要上传的json数据
task.addData( "bizType", 'C'); //可以添加需要上传的json数据
task.start();// 开始上传
},
function( error ) {
alert( "Capture video failed: " + error.message );
},
{resolution:res,format:fmt}
);
},
function(e){}这样的方式会导致方法里面this的指向有问题,可以改成()=>{}
视频拍摄完之后拿到视频的地址,然后通过plus.uploader.createUpload 来上传,也可以转成文件用FormData上传
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
推荐使用HTML5+plus语法
官网地址