openplatform

媒体文件 API

JSSDK 更新于 2026-08-28 阅读 11

选择图片

chooseImage

蓝信版本: ios: >6.6.85 android: >6.6.88 windows: >6.6.110 mac: >6.6.202

示例代码

lx.media.chooseImage({
  count: 9,
  sourceType: ["album", "camera"],
  success: function (res) {
    /**
    {
      tempFiles: [{"base64":"","size":"", "type": ""}],//已选择文件列表,列表中每个对象包含本地文件id、base64(图片的 base64 编码后的字符串)、size(文件大小)、type(文件类型)
    }
    */
  },
  fail: function (err) {},
});

参数说明

字段 类型 必填 说明
count Number 最多可以选择的图片张数,默认 9 张
sourceType Array 'album' 从相册选图,'camera' 使用相机,默认二者都有,当使用 camera 方式选择图片的时候忽略 count 【仅在移动端生效】
quality String 后续版将会丢弃 medium、high 两种选择,只返回 low;对应不同的大小裁剪(详情说明参考如下:图片裁剪说明);low:默认质量;medium:中质量;high:高质量;选择图片 【仅在移动端生效】

图片裁剪说明

  1. 低质量:
  • 缩放:
    • 原图图片最小边<=200:不缩放
    • 原图图片最小边>200:最小边缩小至200
  • 压缩:
    • 降低图片存储空间大小
    • 在缩放后图片基础上做质量压缩85%
  1. 中等质量:
  • 缩放:
    • 原图图片最小边<=600:不缩放
    • 原图图片最小边>600:最小边缩小至600
  • 压缩:
    • 在缩放后图片基础上质量压缩85%
  1. 高质量:
  • 缩放:
    • 原图最大边<=1200,不缩放使用原图
    • 原图最大边>1200:最小边缩小至1200
  • 压缩:
    • 在缩放后图片的基础做质量压缩85%

SUCCESS 返回值说明

字段 类型 说明
tempFiles Array 图片的本地文件列表

tempFiles 结构说明

字段 类型 说明
localId String 图片文件 id
path String 本地文件路径
base64 String 图片的 base64 数据,非原图,建议用作缩略图展示
type String 所选择文件 mimeType 类型
size Number 所选择文件大小,单位:Byte
name String 文件名称

errorCode 说明

code 值 message 值 说明
-1 INVALID_REQUEST 请求参数不合法
-6 CLIENT_INTERNAL_ERROR 客户端内部错误

获取图片信息

getImageInfo

蓝信版本: ios: >7.21.15 android: >7.21.15 windows: >=7.31.30 mac: >=7.31.30

示例代码

lx.media.getImageInfo({
  src: "localId",
  success: function (res) {
    /**
    {
      width: 100,
      height: 100,
      size: 102400 // 文件大小,单位:Byte
    }
    */
  },
  fail: function (err) {},
});

参数说明

字段 类型 必填 说明
src String 图片的路径,可以是相对路径、临时文件路径、存储文件路径

SUCCESS 返回值说明

字段 类型 说明
width Number 图片宽度,单位 px。不考虑旋转
height Number 图片高度,单位 px。不考虑旋转
size Number 文件大小,单位:Byte

errorCode 说明

code 值 message 值 说明
-1 INVALID_REQUEST 请求参数不合法

预览图片

previewImage

蓝信版本: ios: >6.6.85 android: >6.6.88 windows: >6.6.110 mac: >6.6.202

示例代码

lx.media.previewImage({
  current: "",
  urls: [],
  actions: ["save", "share"],
});

参数说明

字段 类型 必填 说明
current String 当前显示图片的链接或 localId,不填则默认为 urls 的第一张
urls Array[String] 需要预览的图片链接列表,支持 localId 和链接
actions Array[String] 长按图片支持的事件["save","share"]; save - 保存到本地; share - 转发功能,长按选择后再选择会话或群

压缩图片

compressImage

压缩图片接口,可选压缩质量。pc 端只支持 jpg,png,jpeg

蓝信版本: ios: >=7.12.15 android: >=7.12.15 windows: >=7.31.30 mac: >=7.31.30

示例代码

lx.media.compressImage({
  filePaths: ["localId", "localId"],
  ratio: 80,
});

参数说明

字段 类型 必填 说明
filePaths Array[String] 图片的路径列表,支持 localId 和链接
ratio Number 压缩比例,0-100 数值,不填默认 80,数值越小,质量越低,压缩率越高

SUCCESS 返回值说明

字段 类型 说明
tempFilePaths Array[String] 压缩后的图片路径列表

选择视频

chooseVideo

蓝信版本: ios: >6.6.85 android: >6.6.88 windows: >6.6.110 mac: >6.6.202

示例代码

lx.media.chooseVideo({
  sourceType: ["album", "camera"],
  maxDuration: 300,
  compressed: true,
  needThumbnail: false,
  success: function (res) {
    /**
    {
      localId: 'string' //视频文件id
    }
    */
  },
  fail: function (err) {},
});

参数说明

字段 类型 必填 说明
sourceType Array 'album' 从相册选视频,'camera' 使用相机,移动端可选,pc、mac 只填 album
maxDuration Number 拍摄视频最长拍摄时间,单位:秒,最大限制为 300 秒,如填写值超过 300 秒,则按照 300 秒做限制
compressed Boolean 是否压缩所选择的视频文件,默认为 true
needThumbnail Boolean 是否需要缩略图,该缩略图可作为视频封面,默认为 false

SUCCESS 返回值说明

字段 类型 说明
localId String 视频文件 id
duration Number 视频时长
type String 视频文件类型
size Number 视频文件大小,单位:Byte
height Number 返回选定视频的高度
width Number 返回选定视频的宽度
name String 文件名称
thumbnail String 缩略图 base64,如果 payload 中 needThumbnail 为 true 会返回缩略图,可用作视频封面

预览视频

previewVideo

蓝信版本: ios: >6.6.85 android: >6.6.88 windows: >6.6.110 mac: >6.6.202

示例代码

lx.media.previewVideo({
  url: "String",
  startTime: 10,
  orientation: "portrait",
});

参数说明

字段 类型 必填 说明
url String 视频 URL,或视频选择/下载后的 localId
startTime Number 当前视频播放起始时间点,单位(秒)
orientation String 支持横屏,默认 portrait,支持 portrait / landscape,定义输出设备中的页面可见区域高度是否大于或等于宽度

errorCode 说明

code 值 message 值 说明
-1 INVALID_REQUEST 请求参数不合法,没有 localId/url
-6 CLIENT_INTERNAL_ERROR 客户端内部错误
-8 NOT_EXIST 文件不存在

开始录音

startRecord

蓝信版本: ios: >6.6.85 android: >6.6.88 windows: 不支持 mac: 不支持

示例代码

lx.media.startRecord({
  format: "mp3",
  success: function (res) {},
  fail: function (err) {},
});

参数说明

字段 类型 必填 说明
format String mp3,不传则返回默认格式

errorCode 说明

code 值 message 值 说明
-6 CLIENT_INTERNAL_ERROR 客户端内部错误,录音失败

停止录音

stopRecord

蓝信版本: ios: >6.6.85 android: >6.6.88 windows: 不支持 mac: 不支持

示例代码

lx.media.stopRecord();

SUCCESS 返回值说明

字段 类型 说明
localId String 音频文件的 localId
duration Number 录音时长 单位:秒
type String 音频文件类型
size Number 音频文件大小,单位:Byte

errorCode 说明

code 值 message 值 说明
-8 NOT_EXIST 文件不存在、未先调用录制

监听录音自动停止

onRecordEnd

蓝信版本: ios: >6.6.85 android: >6.6.88 windows: 不支持 mac: 不支持

示例代码

lx.media.onRecordEnd((result) => {});

result 说明

字段 类型 说明
localId String 音频文件 id
duration Number 录音时长 单位:秒
type String 音频文件类型
size Number 音频文件大小,单位:Byte

播放语音

playVoice

蓝信版本: ios: >6.6.85 android: >6.6.88 windows: >6.6.110 mac: >6.6.202

示例代码

lx.media.playVoice({
  localId: "String",
  startOver: false,
});

参数说明

字段 类型 必填 说明
localId String 选择或下载音频后,获取的音频文件 localId
startOver Boolean 是否重新播放当前音频(对于暂停的音频默认继续当前进度播放); 仅移动端版本>=8.4.0 支持

errorCode 说明

code 值 message 值 说明
-1 INVALID_REQUEST 请求参数不合法,没有 localId
-6 CLIENT_INTERNAL_ERROR 客户端内部错误(解码失败等)
-8 NOT_EXIST 当前播放的音频资源不存在

暂停播放语音

pauseVoice

蓝信版本: ios: >6.6.85 android: >6.6.88 windows: >6.6.110 mac: >6.6.202

示例代码

lx.media.pauseVoice({
  localId: "String",
});

参数说明

字段 类型 必填 说明
localId String 正在播放音频的 localId

errorCode 说明

code 值 message 值 说明
-1 INVALID_REQUEST 请求参数不合法,没有 localId
-8 NOT_EXIST 文件不存在、播放的资源不一致(未调用播放、传入的 localId 与播放的不一致)

停止播放语音

stopVoice

蓝信版本: ios: >6.6.85 android: >6.6.88 windows: >6.6.110 mac: >6.6.202

示例代码

lx.media.stopVoice({
  localId: "String",
});

参数说明

字段 类型 必填 说明
localId String 正在播放音频的 localId

errorCode 说明

code 值 message 值 说明
-1 INVALID_REQUEST 请求参数不合法,没有 localId
-8 NOT_EXIST 文件不存在、播放的资源不一致(未调用播放、传入的 localId 与播放的不一致)

监听语音播放中接口

onVoicePlay

蓝信版本: ios: >6.6.85 android: >6.6.88 windows: >6.6.110 mac: >6.6.202

示例代码

lx.media.onVoicePlay((result) => {});

result 说明

字段 类型 说明
localId String 当前播放音频的 localId
currentTime Number 当前播放进度 单位:秒

监听语音播放完毕接口

onVoicePlayEnd

蓝信版本: ios: >6.6.85 android: >6.6.88 windows: >6.6.110 mac: >6.6.202

示例代码

lx.media.onVoicePlayEnd((result) => {});

result 说明

字段 类型 说明
localId Stirng 音频的 localId

监听音频因为受到系统占用而被中断开始事件

onAudioInterruptionBegin

蓝信版本: ios: >6.6.45 android: 不支持 windows: 不支持 mac: 不支持

示例代码

lx.media.onAudioInterruptionBegin((result) => {});

result 说明

字段 类型 说明
localId Stirng 音频的 localId

监听音频中断结束事件

onAudioInterruptionEnd

蓝信版本: ios: >6.6.45 android: 不支持 windows: 不支持 mac: 不支持

示例代码

lx.media.onAudioInterruptionEnd((result) => {});

result 说明

字段 类型 说明
localId Stirng 音频的 localId

保存到系统相册

saveToPhotoAlbum

保存图片或视频到系统相册

蓝信版本: ios: >=8.1.0 android: >=8.1.0 windows: 不支持 mac: 不支持

示例代码

lx.media.saveToPhotoAlbum({
  url: "",
  success: function () {},
  fail: function (error) {},
});

参数说明

字段 类型 必填 说明
url String 图片或视频的 url