- uni.chooseVideo(OBJECT)
- uni.saveVideoToPhotosAlbum(OBJECT)
uni.chooseVideo(OBJECT)
拍摄视频或从手机相册中选视频,返回视频的临时文件路径。另外选择和上传非图像、视频文件参考:https://ask.dcloud.net.cn/article/35547。
平台差异说明
5+App | H5 | 微信小程序 | 支付宝小程序 | 百度小程序 | 头条小程序 |
---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ |
OBJECT 参数说明
参数名 | 类型 | 必填 | 说明 | 平台差异说明 |
---|---|---|---|---|
sourceType | Array<String> | 否 | album 从相册选视频,camera 使用相机拍摄,默认为:['album', 'camera'] | |
compressed | Boolean | 否 | 是否压缩所选的视频源文件,默认值为 true,需要压缩。 | 微信小程序、百度小程序、头条小程序 |
maxDuration | Number | 否 | 拍摄视频最长拍摄时间,单位秒。最长支持 60 秒。 | APP平台 1.9.7+(iOS支持,Android取决于ROM的拍照组件是否实现此功能,如果没实现此功能则忽略此属性。) 微信小程序、百度小程序 |
camera | String | 否 | 'front'、'back',默认'back' | APP、微信小程序 |
success | Function | 否 | 接口调用成功,返回视频文件的临时文件路径,详见返回参数说明。 | |
fail | Function | 否 | 接口调用失败的回调函数 | |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
success 返回参数说明
参数 | 说明 | 平台差异说明说明 |
---|---|---|
tempFilePath | 选定视频的临时文件路径 | |
duration | 选定视频的时间长度,单位为 s | 5+App不支持 |
size | 选定视频的数据量大小 | |
height | 返回选定视频的高 | 5+App不支持 |
width | 返回选定视频的宽 | 5+App不支持 |
注意:
- 文件的临时路径,在应用本次启动期间可以正常使用,如需持久保存,需在主动调用 uni.saveFile,在应用下次启动时才能访问得到。
- camera 部分 Android 手机下由于系统 ROM 不支持无法生效,打开拍摄界面后可操作切换
- App下如需进一步压缩视频大小,可以在插件市场搜索视频压缩插件示例
<template>
<view>
<text>hello</text>
<button @tap="test">click me</button>
<video :src="src"></video>
</view>
</template>
export default {
data: {
src: ''
},
methods: {
test: function () {
var self = this;
uni.chooseVideo({
count: 1,
sourceType: ['camera', 'album'],
success: function (res) {
self.src = res.tempFilePath;
}
});
}
}
}
uni.saveVideoToPhotosAlbum(OBJECT)
保存视频到系统相册。
平台差异说明
5+App | H5 | 微信小程序 | 支付宝小程序 | 百度小程序 | 头条小程序 |
---|---|---|---|---|---|
√ | x | √ | x | √ | √ |
OBJECT 参数说明
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
filePath | String | 是 | 视频文件路径,可以是临时文件路径也可以是永久文件路径 |
success | Function | 否 | 接口调用成功的回调函数 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
success 返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
errMsg | String | 调用结果 |
示例
<template>
<view>
<text>hello</text>
<button @tap="test">click me</button>
<video :src="src"></video>
</view>
</template>
export default {
data: {
src: ''
},
methods: {
test: function () {
var self = this;
uni.chooseVideo({
count: 1,
sourceType: ['camera'],
success: function (res) {
self.src = res.tempFilePath;
uni.saveVideoToPhotosAlbum({
filePath: res.tempFilePath,
success: function () {
console.log('save success');
}
});
}
});
}
}
}
发现错误?想参与编辑?在 GitHub 上编辑此页面!