Back to Uni App

Save Video To Photos Album

docs/api/save-video-to-photos-album.md

2.3.37.1 KB
Original Source

uni.saveVideoToPhotosAlbum(options) @saveVideoToPhotosAlbum

保存视频到系统相册

saveVideoToPhotosAlbum 兼容性

Web微信小程序AndroidiOSHarmonyOSHarmonyOS(Vapor)
<a style="color:unset;" href="https://vote.dcloud.net.cn/#/?name=uni-app%20x">x</a>4.414.184.184.615.0

参数

名称类型必填默认值兼容性描述
optionsSaveVideoToPhotosAlbumOptions-Web: x; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -

options 的属性描述

名称类型必备默认值兼容性描述
filePathstring.VideoURIString-Web: x; 微信小程序: -; Android: 4.18; iOS: 4.18; HarmonyOS: -视频文件路径,可以是临时文件路径也可以是永久文件路径
success(callback: SaveVideoToPhotosAlbumSuccess) => void-Web: x; 微信小程序: -; Android: 4.18; iOS: 4.18; HarmonyOS: -接口调用成功的回调函数
fail(callback: SaveVideoToPhotosAlbumFail) => void-Web: x; 微信小程序: -; Android: 4.18; iOS: 4.18; HarmonyOS: -接口调用失败的回调函数
complete(callback: any) => void-Web: x; 微信小程序: -; Android: 4.18; iOS: 4.18; HarmonyOS: -接口调用结束的回调函数(调用成功、失败都会执行)

SaveVideoToPhotosAlbumFail 的属性值 @savevideotophotosalbumfail-values

名称类型必备默认值兼容性描述
errCodenumber-Web: x; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -错误码
errSubjectstring-Web: x; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -统一错误主题(模块)名称
dataany-Web: x; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -错误信息中包含的数据
causeError-Web: x; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -源错误信息,可以包含多个错误,详见SourceError
errMsgstring-Web: x; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -

errCode 的属性描述

合法值兼容性描述
1101001Web: x; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -用户取消
1101002Web: x; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -urls至少包含一张图片地址
1101003Web: x; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -文件不存在
1101004Web: x; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -图片加载失败
1101005Web: x; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -未获取权限
1101006Web: x; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -图片或视频保存失败
1101007Web: x; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -图片裁剪失败
1101008Web: x; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -拍照或录像失败
1101009Web: x; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -图片压缩失败
1101010Web: x; 微信小程序: -; Android: -; iOS: -; HarmonyOS: -其他错误

参见

示例

示例为hello uni-app x alpha分支,与最新HBuilderX Alpha版同步。与最新正式版同步的master分支示例另见

该 API 不支持 Web,请运行 hello uni-app x 到 App 平台体验

::: preview

appRedirect https://hellouniappx.dcloud.net.cn/appredirect.html?path=pages/API/save-video-to-photos-album/save-video-to-photos-album

uvue
<template>
  <!-- #ifdef APP -->
  <scroll-view style="flex:1">
  <!-- #endif -->
    <page-head :title="title"></page-head>
    <view class="uni-padding-wrap">
      <video class="video" :src="src" :controls="true"></video>
      <button type="primary" class="margin-top-10" @click="saveVideo">将视频保存到手机相册</button>
    </view>
  <!-- #ifdef APP -->
  </scroll-view>
  <!-- #endif -->
</template>

<script setup lang="uts">
  type TestStateType = {
    success: boolean
  }

  const title = ref('saveVideoToPhotosAlbum')
  const src = ref('/static/test-video/10second-demo.mp4')
  // 使用reactive避免ref数据在自动化测试中无法访问
  const testState = reactive({
    success: false
  } as TestStateType)

  const saveVideo = () => {
    uni.saveVideoToPhotosAlbum({
      filePath: src.value,
      success: (_) => {
        console.log("saveVideoToPhotosAlbum success");
        uni.showToast({
          position: "center",
          icon: "none",
          title: "视频保存成功,请到手机相册查看"
        });
        testState.success = true;
      },
      fail: (err) => {
        uni.showModal({
          title: "保存视频到相册失败",
          content: JSON.stringify(err),
          showCancel: false
        });
        testState.success = false;
      }
    });
  }

  defineExpose({
    testState,
    saveVideo
  })
</script>

<style>
  .video {
    align-self: center;
  }

  .margin-top-10 {
    margin-top: 10px;
  }
</style>

:::

通用类型

GeneralCallbackResult

名称类型必备默认值兼容性描述
errMsgstring-Web: -; 微信小程序: 4.41; Android: -; iOS: -; HarmonyOS: -错误信息