yuminge-app/yun-min-program-plugin-master/mycomponent/yz_upVideo/yz_upVideo.js

95 lines
2.2 KiB
JavaScript

// mycomponent/yz_upVideo/yz_upVideo.js
var app = getApp();
Component({
/**
* 组件的属性列表
*/
properties: {
width:{
value:"100%",
type:String
},
height:{
value:"100%",
type:String
},
videoUrl:{
value:"",
type:String
},
limit:{
value:0,
type:Number
}
},
/**
* 组件的初始数据
*/
data: {
},
/**
* 组件的方法列表
*/
methods: {
onReadVideo() {
//iOS中选择上传视频不能超过60秒
wx.chooseVideo({
sourceType: ["album", "camera"],
maxDuration: 60,
camera: "back",
success: (res) => {
this.getDuration(res.duration, res.tempFilePath);
},
});
},
getDuration(durationData, videoData) {
let duration = durationData;
//获取视频或者音频时长
this.data.duration = duration;
console.log("视频时长:", this.data.duration, this.data.limit + 1, this.data.limit && this.data.duration > this.data.limit + 1);
if (this.data.duration < 1) {
this.setData({
videoUrl: null,
});
return app.tips("视频时长太短了!");
} else if (this.data.limit != 0 && this.data.duration > parseInt(this.data.limit) + 1) {
this.setData({
videoUrl: null,
});
return app.tips(`视频时长不能超过${this.data.limit}`);
} else {
this.setData({
videoUrl: videoData,
});
this.setSrcAndCaptureImage(videoData);
return;
}
},
setSrcAndCaptureImage(videoData) {
this.triggerEvent('beforeUp', videoData);
this.uploadAudioM(videoData); //上传视频 --------------
},
uploadAudioM(videoData) {
let urlStr = app.getNetAddresss("upload.uploadPic");
urlStr += "&upload_type=video";
wx.uploadFile({
url: urlStr, //仅为示例,非真实的接口地址
filePath: videoData,
name: "file",
formData: {},
success:(resdata)=> {
let res = JSON.parse(resdata.data);
if(res.result!=1){
this.setData({videoUrl:null});
}
this.triggerEvent('successUp', {res});
},
});
},
}
});