# wx.chooseMedia

拍摄或从手机相册中选择图片或视频。

# 注意事项

  • iOS SDK 版本需要 ≥ 1.0.18

  • Android SDK 版本需要 ≥ 1.0.10

  • 使用该接口能力之前,需在微信开发者工具 project.miniapp.json 中勾选「Media SDK 」,若为 iOS 且 iOS SDK >=1.3.11 则需同时勾选「Media SDK」中的「Video SDK」 与「Image SDK」。

  • 使用该接口能力之前,需在微信开发者工具 project.miniapp.json 中配置「Android 权限描述配置」或 iOS「隐私信息访问许可描述」的相册读取、摄像头以及麦克风的许可描述。即,该接口需获得相册读取、摄像头以及麦克风权限才可以调用。

  • 补充:如果 Android 的 targetsdkversion 配置为 33 及以上,则需在 project.miniapp.json 中新增下方这三个权限描述(如果你的开发者工具打开后没有下方三个配置,请将开发者工具升级到最新的 nightly 版

# 参数

# Object object

属性 类型 默认值 必填 说明
count number 9 最多可以选择的文件个数,基础库2.25.0前,最多可支持9个文件,2.25.0及以后最多可支持20个文件
mediaType Array.<string> ['image', 'video'] 文件类型
合法值 说明
image 只能拍摄图片或从相册选择图片
video 只能拍摄视频或从相册选择视频
mix 可以出现视频和图片,但是不可以同时选视频和图片
sourceType Array.<string> ['album', 'camera'] 图片和视频选择的来源
合法值 说明
album 从相册选择
camera 使用相机拍摄
maxDuration number 10 拍摄视频最长拍摄时间,单位秒。时间范围为 3s 至 60s 之间。不限制相册。
sizeType Array.<string> ['original', 'compressed'] 是否压缩所选文件,仅对 mediaType 为 image 时有效
camera string 'back' 仅在 sourceType 为 camera 时生效,使用前置或后置摄像头
合法值 说明
back 使用后置摄像头
front 使用前置摄像头
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

# object.success 回调函数

# 参数
# Object res
属性 类型 说明
tempFiles Array.<Object> 本地临时文件列表
结构属性 类型 说明
tempFilePath string 本地临时文件路径 (本地路径)
size number 本地临时文件大小,单位 B
duration number 视频的时间长度
height number 视频的高度
width number 视频的宽度
thumbTempFilePath string 视频缩略图临时文件路径
fileType string 文件类型
合法值 说明
image 图片
video 视频
type string 文件类型,有效值有 image 、video、mix

# 示例代码

wx.chooseMedia({
  count: 9,
  mediaType: ['image','video'],
  sourceType: ['album', 'camera'],
  maxDuration: 30,
  camera: 'back',
  success(res) {
    console.log(res.tempFiles[0].tempFilePath)
    console.log(res.tempFiles[0].size)
  }
})