const videoTools = {
	/**
	 * @description 视频选择，并返回
	 */
	chooseVideo() {
		return new Promise((resolve,reject)=>{
			let videoObj = {};
			uni.chooseVideo({
				sourceType: ['camera', 'album'],
				compressed:true,//是否压缩所选的视频源文件，默认值为 true，需要压缩。
				maxDuration:60,//拍摄视频最长拍摄时间，单位秒。最长支持 60 秒。
				camera: 'back',//'front'、'back'，默认'back'	
				success: (res)=> {
					console.log(res,'视频');
					// #ifdef H5
					videoObj = {
						size:res.size,//视频大小
						path:res.name,//视频名称
						lastModified:res.tempFile.lastModified,//最后修改时间
						type:res.tempFile.type,//视频类型
					}
					// #endif
					
					// #ifdef APP-PLUS || MP-WEIXIN
					videoObj = {
						size:res.size,//视频大小
						path:res.tempFilePath,//视频名称
						duration:res.duration,//播放总时长单位秒
						width:res.width,//视频宽
						height:res.height,//视频高
					}
					// #endif
					resolve(videoObj)
				}
			});
		})
	},
	/**
	 * @description 选择视频并压缩视频，不支持H5
	 */
	chooseCompressVideo() {
		return new Promise((resolve, reject)=>{
			uni.chooseVideo({
				sourceType: ['camera', 'album'],
				compressed:true,//是否压缩所选的视频源文件，默认值为 true，需要压缩。
				maxDuration:60,//拍摄视频最长拍摄时间，单位秒。最长支持 60 秒。
				camera: 'back',//'front'、'back'，默认'back'	
				success: (res)=> {
					let exit = res.tempFilePath.split('.').includes('mp4');
					if(exit) {
						// #ifdef APP-PLUS || MP-WEIXIN
						uni.compressVideo({
							src:res.tempFilePath,
							quality:'medium',//low:低	medium:中	high:高
							bitrate: 100000,//码率，单位 kbps
							fps: 100,//帧率
							resolution:1,//相对于原视频的分辨率比例，取值范围(0, 1]
							success: rescomp => {
								resolve({path:rescomp.tempFilePath,size:rescomp.size})
							}
						})
						// #endif
					} else {
						uni.showToast({title:'请选择mp4格式的视频',icon:'none'})
					}
				}
			});
		})
	},
	/**
	 * @description 预览视频，仅仅微信小程序生效
	 * @param {Number} current 0
	 * @param {Array} videoArr [{url:'',type:'video',poster:''}]
	 */
	previewVideo(current=0,videoArr=[]) {
		// #ifdef MP-WEIXIN
		uni.previewMedia({
			current:current,
			sources:videoArr
		})
		// #endif
	},
	/**
	 * @description 保存视频，不支持H5
	 * @param {String} src
	 */
	saveVideo(src) {
		uni.saveVideoToPhotosAlbum({
			filePath: src,
			success: ()=> {}
		});
	},
	/**
	 * @description 压缩视频，不支持H5
	 * @param {String} src
	 */
	compressVideo(src) {
		return new Promise((resolve, reject)=>{
			// #ifdef APP-PLUS || MP-WEIXIN
			uni.compressVideo({
				src,
				quality:'medium',//low:低	medium:中	high:高
				bitrate: 100000,//码率，单位 kbps
				fps: 100,//帧率
				resolution:1,//相对于原视频的分辨率比例，取值范围(0, 1]
				success: rescomp => {
					resolve({path:rescomp.tempFilePath,size:rescomp.size})
				}
			})
			// #endif
		})
	},
	/**
	 * @description 获取视频信息
	 * @param {String} src 
	 */
	getVideoInfo(src) {
		return new Promise((resolve, reject)=>{
			uni.getVideoInfo({
				src,
				success: (video)=> {
					let obj = {
						orientation:video.orientation,//画面方向	 微信小程序、App（3.1.14+）
						type:video.type,//视频格式	微信小程序、App（3.1.14+）
						duration:video.duration,//视频长度	微信小程序、App（3.1.10+）、H5
						size:video.size,//视频大小，单位 kB	微信小程序、App（3.1.10+）、H5
						height:video.height,//视频的长，单位 px	微信小程序、App（3.1.10+）、H5
						width:video.width,//视频的宽，单位 px	微信小程序、App（3.1.10+）、H5
						fps:video.fps,//视频帧率	微信小程序、App（3.1.14+）
						bitrate:video.bitrate,//视频码率，单位 kbps	微信小程序、App（3.1.14+）
					}
					resolve(obj)
				}
			});
		})
	}
}
export default videoTools;