uni-app saveVideoToPhotosAlbum支持什么格式
uni-app saveVideoToPhotosAlbum支持什么格式
我保存mp4格式可以成功,保存mov格式就报错"errMsg": “saveVideoToPhotosAlbum:fail UNKOWN ERROR3”,
“code”: 12。是因为不支持mov格式吗,如果不支持还有别的办法可以实现把下载的视频放进相册文件夹下吗
请上传一个能重现问题的测试工程
提供了,麻烦帮忙看下
我这里是安卓手机
你好,这个问题跟进修复了吗,大概哪个版本会修复
在部分较新的安卓手机会出现,内部测试了魅族20 以及小米13,安卓14
你好楼主,和你差不多一样的问题,解决了吗?
const newFileName = ‘/’ + entry.name.replace(/.mov$/i, ‘.mp4’) 我是把 mov 的后缀转换成 mp4 就可以保存到相册
function downloadClick() { // 提醒用户下载中 uni.showToast({ title: ‘下载中’, icon: ‘loading’ }) // 1 将远程文件下载到小程序的内存中 const downloadTask = uni.downloadFile({ url: playUrl.value, success: (res) => { // 2 成功下载后而且状态码为200时将视频保存到本地系统 if (res.statusCode === 200) { plus.io.resolveLocalFileSystemURL(res.tempFilePath, function (entry) { //获取文件对象 const newFileName = ‘/’ + entry.name.replace(/.mov$/i, ‘.mp4’) //获取目录 entry.getParent(function (de) { entry.moveTo(de, newFileName, function (newFile) { uni.saveVideoToPhotosAlbum({ filePath: newFile.fullPath, success: (res) => { uni.removeSavedFile({ filePath: newFile.fullPath, complete: function (res) { console.log(‘删除’, res) } }) uni.showToast({ icon: ‘none’, title: ‘视频已保存,请到相册查看’ }) } }) }) }) }) } else { // 如果该资源不可下载或文件格式出错则提示用户 uni.showToast({ title: ‘资源格式错误’ }) } }, fail: (err) => { // 下载失败提醒 uni.hideLoading() uni.showToast({ title: ‘下载失败’ }) } }) // 进度监听 downloadTask.onProgressUpdate((res) => { progress.value = res.progress }) }
蹲一个 我也是app保存的时候mov格式直接爆错 “errMsg”: “saveVideoToPhotosAlbum:fail”
在uni-app中,saveVideoToPhotosAlbum
API 用于将视频保存到设备的相册。根据uni-app官方文档以及各平台的实现情况,这个API主要支持以下几种常见的视频格式:
- MP4:这是最常用的视频格式之一,具有良好的兼容性和压缩效率。
- MOV:Apple设备(如iPhone和iPad)上常见的视频格式,也具有较高的兼容性。
其他格式如AVI、FLV、MKV等,虽然在某些平台或播放器上能够播放,但saveVideoToPhotosAlbum
API的兼容性可能不如MP4和MOV。因此,为了确保最佳兼容性和成功率,建议使用MP4格式保存视频。
下面是一个使用saveVideoToPhotosAlbum
API保存MP4格式视频的示例代码:
// 假设你有一个本地视频文件的路径,例如 '/path/to/your/video.mp4'
const videoPath = '/path/to/your/video.mp4';
uni.saveVideoToPhotosAlbum({
filePath: videoPath,
success: function (res) {
console.log('视频保存成功', res);
// 可以在这里添加保存成功后的逻辑,比如提示用户保存成功
uni.showToast({
title: '视频保存成功',
icon: 'success'
});
},
fail: function (err) {
console.error('视频保存失败', err);
// 可以在这里处理保存失败的情况,比如提示用户保存失败的原因
uni.showToast({
title: '视频保存失败',
icon: 'none'
});
},
complete: function () {
// 无论成功或失败,都会执行这里的代码
console.log('视频保存操作完成');
}
});
在上述代码中,filePath
参数指定了要保存的视频文件的路径。请确保该路径指向一个有效的MP4或MOV格式的视频文件。
需要注意的是,由于不同平台的权限管理和文件系统差异,调用saveVideoToPhotosAlbum
API可能需要用户授权访问相册。因此,在实际应用中,你可能还需要处理用户授权的逻辑,确保在请求保存视频之前已经获得了必要的权限。
此外,对于iOS平台,确保在manifest.json
中配置了requiredPrivateInfos
权限,以请求访问相册的权限。对于Android平台,则需要在AndroidManifest.xml
中声明相应的权限。
总之,使用saveVideoToPhotosAlbum
API保存视频时,优先选择MP4或MOV格式以确保最佳兼容性。