# 媒体

# 图片

# saveImageToPhotosAlbum

基础库 2.0.7 开始支持,iOS版本 2.10.7,Android版本2.11.43

saveImageToPhotosAlbum(Object object)

保存图片到系统相册。

参数

Object object

属性 类型 默认值 必填 说明
filePath string 图片文件路径,可以是临时文件路径或永久文件路径,不支持网络图片路径
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数(当授权失败时,返回错误信息:fail unauthorized 用户未授予读取外部存储、读写外部存储权限)
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

ft.saveImageToPhotosAlbum({
  filePath: 'finfile://xxxx',
  success(res) { }
})

注意

  • 接口授权失败(iOS):
  1. 用户拒绝授权,会返回错误信息: unauthorized,用户未授予相册权限
  2. 宿主App禁止小程序主动申请权限,会返回错误信息:unauthorized disableauthorized,SDK被禁止申请相册权限
  • 接口授权失败(Android):
  1. 用户拒绝授权,会返回错误信息:unauthorized 用户未授予读取外部存储、读写外部存储权限
  2. 宿主App禁止小程序主动申请权限,会返回错误信息:unauthorized disableauthorized SDK被禁止了主动发起运行时权限申请

# previewMedia

预览图片和视频。

参数

Object object

属性 类型 默认值 必填 说明
sources Array.<Object> 需要预览的资源列表
current number 0 当前显示的资源序号
showmenu boolean true 是否显示长按菜单,长按图片显示发送给朋友、收藏、保存图片、搜一搜、打开名片/前往群聊/打开小程序(若图片中包含对应二维码或小程序码)的菜单
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

object.sources 的结构

属性 类型 默认值 必填 说明
url String 图片或视频的地址
type String image 资源的类型,默认为图片
poster string 视频的封面图片

type 的合法值

说明 最低版本
image 图片
video 视频

# previewImage

基础库1.3.9开始支持,iOS版本2.1.23,Android版本2.1.38

previewImage(Object object)

在新页面中全屏预览图片。

参数

Object object

属性 类型 默认值 必填 说明
urls Array.<string> 需要预览的图片链接列表
current string urls 的第一张 当前显示图片的链接
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

ft.previewImage({
  current: '', // 当前显示图片的http链接
  urls: [] // 需要预览的图片http链接列表
})

# getImageInfo

基础库1.3.9开始支持,iOS版本2.1.23,Android版本2.1.38

getImageInfo(Object object)

获取图片信息。

参数

Object object

属性 类型 默认值 必填 说明
src string 图片的路径,可以是相对路径、临时文件路径、存储文件路径、网络图片路径
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

参数

Object res

属性 类型 说明
width number 图片原始宽度,单位px。
height number 图片原始高度,单位px。
path string 图片的本地路径

示例代码

ft.getImageInfo({
  src: 'images/a.jpg',
  success(res) {
    console.log(res.width)
    console.log(res.height)
  }
})

ft.chooseImage({
  success(res) {
    ft.getImageInfo({
      src: res.tempFilePaths[0],
      success(res) {
        console.log(res.width)
        console.log(res.height)
      }
    })
  }
})

# compressImage

ft.compressImage(Object object)

基础库 2.0.5 开始支持,iOS版本 2.10.4,Android版本 2.11.39

压缩图片接口,可选压缩质量​

参数

Object object

属性 类型 默认值 必填 说明
src string 图片路径,图片的路径,支持本地路径、代码包路径
quality number 80 压缩质量,范围0~100,数值越小,质量越低,压缩率越高(仅对jpg有效)。
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
# object.success 回调函数
# 参数
属性 类型 说明
tempFilePath string 压缩后图片的临时文件路径 (本地路径)

示例代码

ft.compressImage({
  src: '', // 图片路径
  quality: 80 // 压缩质量
})

# chooseMessageFile

基础库1.3.9开始支持,iOS版本2.1.23,Android版本2.1.38

从文件管理器选择文件。

参数

Object object

属性 类型 默认值 必填 说明
count number true 最多可以选择的文件个数,可以 0~100
type string 'all' 所选的文件的类型
extension Array.<string> 根据文件拓展名过滤,仅 type==file 时有效。每一项都不能是空字符串。默认不过滤。
camera string 'back' 默认拉起的是前置或者后置摄像头。
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数(当授权失败时,返回错误信息:fail unauthorized 用户未授予读写外部存储权限)
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

object.type 的合法值

说明
all 从所有文件选择
video 只能选择视频文件
image 只能选择图片文件
file 可以选择除了图片和视频之外的其它的文件

注意

  • 接口授权失败(Android):
  1. 用户拒绝授权,会返回错误信息:unauthorized 用户未授予读写外部存储权限
  2. 宿主App禁止小程序主动申请权限,会返回错误信息:unauthorized disableauthorized SDK被禁止了主动发起运行时权限申请

# chooseImage

基础库1.3.9开始支持,iOS版本2.1.23,Android版本2.1.38

chooseImage(Object object)

从本地相册选择图片或使用相机拍照。

参数

Object object

属性 类型 默认值 必填 说明
count number 9 最多可以选择的图片张数
sizeType Array.<string> ['original', 'compressed'] 所选的图片的尺寸
sourceType Array.<string> ['album', 'camera'] 选择图片的来源
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数(当授权失败时,返回错误信息:fail unauthorized 用户未授予读取外部存储、读写外部存储权限)
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

object.sizeType 的合法值

说明
original 原图
compressed 压缩图

object.sourceType 的合法值

说明
album 从相册选图
camera 使用相机

object.success 回调函数

参数

Object res

属性 类型 说明
tempFilePaths Array.<string> 图片的本地临时文件路径列表
tempFiles Array.<Object> 图片的本地临时文件列表

res.tempFiles 的结构

属性 类型 说明
path string 本地临时文件路径
size number 本地临时文件大小,单位 B

示例代码

ft.chooseImage({
  count: 1,
  sizeType: ['original', 'compressed'],
  sourceType: ['album', 'camera'],
  success(res) {
    // tempFilePath可以作为img标签的src属性显示图片
    const tempFilePaths = res.tempFilePaths
  }
})

注意

  • 接口授权失败(iOS):
  1. 用户拒绝授权,会返回错误信息: unauthorized,用户未授予相册权限
  2. 宿主App禁止小程序主动申请权限,会返回错误信息:unauthorized disableauthorized,SDK被禁止申请相册权限
  • 接口授权失败(Android):
  1. 用户拒绝授权,会返回错误信息:unauthorized 用户未授予读取外部存储、读写外部存储权限
  2. 宿主App禁止小程序主动申请权限,会返回错误信息:unauthorized disableauthorized SDK被禁止了主动发起运行时权限申请

# fileToBase64

ft.fileToBase64(Object object)

图片转换成base64数据

参数

Object object

属性 类型 默认值 必填 说明
url string 图片路径,图片的路径,支持本地路径

object.success 回调函数

参数

属性 类型 说明
data string 转换后的base64数据

示例代码

ft.fileToBase64({
  url: '', // 图片路径
})

# 视频

# saveVideoToPhotosAlbum

基础库 2.0.7 开始支持,iOS版本 2.10.7,Android版本2.11.43

saveVideoToPhotosAlbum(Object object)

保存视频到系统相册。支持mp4视频格式。

参数

Object object

属性 类型 默认值 必填 说明
filePath string 视频文件路径,可以是临时文件路径也可以是永久文件路径 (本地路径)
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数(当授权失败时,返回错误信息:fail unauthorized 用户未授予读取外部存储、读写外部存储权限)
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

ft.saveVideoToPhotosAlbum({
  filePath: 'finfile://xxx',
  success (res) {
    console.log(res.errMsg)
  }
})

注意

  • 接口授权失败(iOS):
  1. 用户拒绝授权,会返回错误信息: unauthorized,用户未授予相册权限
  2. 宿主App禁止小程序主动申请权限,会返回错误信息:unauthorized disableauthorized,SDK被禁止申请相册权限
  • 接口授权失败(Android):
  1. 用户拒绝授权,会返回错误信息:unauthorized 用户未授予读取外部存储、读写外部存储权限
  2. 宿主App禁止小程序主动申请权限,会返回错误信息:unauthorized disableauthorized SDK被禁止了主动发起运行时权限申请

# createVideoContext

基础库 2.11.2 开始支持,iOS 版本 2.34.1,Android 版本 2.34.1 VideoContext ft.createVideoContext(string id, Object this)

创建 video 上下文 VideoContext 对象。

参数

string id

video 组件的 id

Object this

在自定义组件下,当前组件实例的this,以操作组件内 video 组件

返回值

VideoContext

# VideoContext 方法

VideoContext.play()

播放视频

VideoContext.pause()

暂停视频

VideoContext.stop()

停止视频

VideoContext.seek(number position)

跳转到指定位置

position 单位 s

VideoContext.sendDanmu(Object data)

发送弹幕

参数

Object data

属性 类型 默认值 必填 说明
text string 弹幕文字
color string 弹幕颜色

VideoContext.playbackRate(number rate)

设置倍速播放

倍率 rate,合法值 0.5/0.8/1.0/1.25/1.5/2

VideoContext.requestFullScreen(Object object)

进入全屏(IDE 不支持)

参数

Object object

属性 类型 默认值 必填 说明
direction number 设置全屏时视频的方向,不指定则根据宽高比自动判断。合法值:0、90、-90

VideoContext.exitFullScreen()

退出全屏(IDE 不支持)

VideoContext.showStatusBar()

显示状态栏,仅在iOS全屏下有效。

VideoContext.hideStatusBar()

隐藏状态栏,仅在iOS全屏下有效。

VideoContext.requestBackgroundPlayback()

进入后台音频播放模式(IDE 不支持)

VideoContext.exitBackgroundPlayback()

退出后台音频播放模式(IDE 不支持)

# chooseVideo

基础库1.3.9开始支持,iOS版本2.1.23,Android版本2.1.38

chooseVideo(Object object)

从本地相册选择视频或使用相机拍摄视频。

参数

Object object

属性 类型 默认值 必填 说明
sourceType Array.<string> ['album', 'camera'] 选择视频的来源
compressed boolean true 是否压缩所选择的视频文件
maxDuration number 60 拍摄视频最长拍摄时间,单位秒
camera string 'back' 默认拉起的是前置或者后置摄像头。
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数(当授权失败时,返回错误信息:fail unauthorized 用户未授予读取外部存储权限)
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

object.sourceType 的合法值

说明
album 从相册选择视频
camera 使用相机拍摄视频

object.camera 的合法值

说明
back 默认拉起后置摄像头
front 默认拉起前置摄像头

object.success 回调函数

参数

Object res

属性 类型 说明
coverImagePath string 选定视频的预览图片路径
duration number 选定视频的时间长度
tempFilePath string 选定视频的临时文件路径
size number 选定视频的数据量大小
width number 图片原始宽度,单位px。
height number 图片原始高度,单位px

示例代码

ft.chooseVideo({
  sourceType: ['album', 'camera'],
  maxDuration: 60,
  camera: 'back',
  success(res) {
    console.log(res.tempFilePath)
  }
})

注意

  • 接口授权失败(iOS):
  1. 用户拒绝授权,会返回错误信息: unauthorized,用户未授予相册权限
  2. 宿主App禁止小程序主动申请权限,会返回错误信息:unauthorized disableauthorized,SDK被禁止申请相册权限
  • 接口授权失败(Android):
  1. 用户拒绝授权,会返回错误信息:unauthorized 用户未授予读取外部存储权限
  2. 宿主App禁止小程序主动申请权限,会返回错误信息:unauthorized disableauthorized SDK被禁止了主动发起运行时权限申请

# chooseMedia

chooseMedia(Object object) 拍摄或从手机相册中选择图片或视频。

参数 Object object

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

object.mediaType 的合法值

说明
image 只能拍摄图片或从相册选择图片
video 只能拍摄视频或从相册选择视频

object.sourceType 的合法值

说明
album 从相册选择
camera 使用相机拍摄

object.camera 的合法值

说明
back 使用后置摄像头
front 使用前置摄像头

object.success 回调函数

参数

Object res

属性 类型 说明
tempFiles Array.<Object> 本地临时文件列表
type string 文件类型,有效值有 image 、video

res.tempFiles 的结构

属性 类型 说明
tempFilePath string 本地临时文件路径 (本地路径)
size number 本地临时文件大小,单位 B
duration number 视频的时间长度
height number 视频的高度
width number 视频的宽度
thumbTempFilePath string 视频缩略图临时文件路径

示例代码

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

# previewVideo

基础库1.3.9开始支持,iOS版本2.1.23,Android版本2.1.38

previewVideo(Object object)

在新页面中全屏预览视频。

参数

Object object

属性 类型 默认值 必填 说明
url string 视频资源地址,可以是临时视频路径或者网络视频路径。
autoplay boolean false 是否压缩所选择的视频文件
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

ft.previewVideo({
  url: 'http://static.tripbe.com/videofiles/20121214/9533522808.f4v.mp4',
  autoplay: true,
  success(res) {
    console.log(res.tempFilePath)
  }
})

# VideoContext

VideoContext 实例,可通过 ft.createVideoContext 获取。VideoContext 通过 id 跟一个 video 组件绑定,操作对应的 video 组件。

方法

  • VideoContext.play()
    播放视频

  • VideoContext.pause()
    暂停视频

  • VideoContext.stop()
    停止视频

  • VideoContext.seek(number position)
    跳转到指定位置

  • VideoContext.sendDanmu(Object data)
    发送弹幕

  • VideoContext.playbackRate(number rate)
    设置倍速播放

  • VideoContext.requestFullScreen(Object object)
    进入全屏。若有自定义内容需在全屏时展示,需将内容节点放置到 video 节点内。

  • VideoContext.exitFullScreen()
    退出全屏

  • VideoContext.showStatusBar()
    显示状态栏,仅在iOS全屏下有效

  • VideoContext.hideStatusBar()
    隐藏状态栏,仅在iOS全屏下有效

  • VideoContext.exitPictureInPicture()
    退出小窗,该方法可在任意页面调用

# 音频

# stopVoice

基础库1.3.9开始支持,iOS版本2.1.23,Android版本2.1.38

stopVoice(Object object)

结束播放语音。

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

ft.startRecord({
  success(res) {
    const tempFilePath = res.tempFilePath
    ft.playVoice({
      filePath: tempFilePath,
    })

    setTimeout(() => { ft.stopVoice() }, 5000)
  }
})

# setInnerAudioOption

setInnerAudioOption(Object object) 设置 InnerAudioContext 的播放选项。设置之后对当前小程序全局生效。

参数

Object object

属性 类型 默认值 必填 说明
mixWithOther boolean true 是否与其他音频混播,设置为 true 之后,不会终止其他应用或微信内的音乐
obeyMuteSwitch boolean true (仅在 iOS 生效)是否遵循静音开关,设置为 false 之后,即使是在静音模式下,也能播放声音
speakerOn boolean true true 代表用扬声器播放,false 代表听筒播放,默认值为 true。
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

注意 为保证整体体验,speakerOn 为 true 时,客户端会忽略 mixWithOthers 参数的内容,强制与其它音频互斥 不支持在播放音频的过程中切换为扬声器播放,开发者如需切换可以先暂停当前播放的音频并记录下当前暂停的时间点,然后切换后重新从原来暂停的时间点开始播放音频

# playVoice

基础库1.3.9开始支持,iOS版本2.1.23,Android版本2.1.38

playVoice(Object object)

开始播放语音,同时只允许一个语音文件正在播放, 如果前一个语音文件还没播放完,将中断前一个语音播放。

参数

Object object

属性 类型 默认值 必填 说明
filePath string 需要播放的语音文件的文件路径
duration number 60 指定录音时长,到达指定的录音时长后会自动停止录音,单位:秒
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

ft.startRecord({
  success(res) {
    const tempFilePath = res.tempFilePath
    ft.playVoice({
      filePath: tempFilePath,
      complete() { }
    })
  }
})

# pauseVoice

基础库1.3.9开始支持,iOS版本2.1.23,Android版本2.1.38

pauseVoice(Object object)

暂停正在播放的语音。再次调用ft.playVoice播放同一个文件时,会从暂停处开始播放。

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

ft.startRecord({
  success(res) {
    const tempFilePath = res.tempFilePath
    ft.playVoice({
      filePath: tempFilePath
    })

    setTimeout(() => { ft.pauseVoice() }, 5000)
  }
})

# createInnerAudioContext

InnerAudioContext ft.createInnerAudioContext()

创建 audio 上下文 InnerAudioContext 对象。

返回值

InnerAudioContext

# createAudioContext

AudioContext ft.createAudioContext(string id, Object this)

创建 audio 上下文 AudioContext 对象。

参数

string id

audio 组件的 id

Object this

在自定义组件下,当前组件实例的this,以操作组件内 audio 组件

返回值

AudioContext

# AudioContext

AudioContext 实例,可通过 ft.createAudioContext 获取。

AudioContext 通过 id 跟一个 audio 组件绑定,操作对应的 audio 组件。

方法

  • AudioContext.setSrc(string src)
    设置音频地址

  • AudioContext.play()
    播放音频。

  • AudioContext.pause()
    暂停音频。

  • AudioContext.seek(number position)
    跳转到指定位置。

示例代码

<!-- audio.FXML -->
<audio  src="{{src}}" id="myAudio" ></audio>

<button type="primary" bindtap="audioPlay">播放</button>
<button type="primary" bindtap="audioPause">暂停</button>
<button type="primary" bindtap="audio14">设置当前播放时间为14秒</button>
<button type="primary" bindtap="audioStart">回到开头</button>
// audio.js
Page({
  onReady (e) {
    // 使用 ft.createAudioContext 获取 audio 上下文 context
    this.audioCtx = ft.createAudioContext('myAudio')
    this.audioCtx.setSrc('http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E06DCBDC9AB7C49FD713D632D313AC4858BACB8DDD29067D3C601481D36E62053BF8DFEAF74C0A5CCFADD6471160CAF3E6A&fromtag=46')
    this.audioCtx.play()
  },
  data: {
    src: ''
  },
  audioPlay () {
    this.audioCtx.play()
  },
  audioPause () {
    this.audioCtx.pause()
  },
  audio14 () {
    this.audioCtx.seek(14)
  },
  audioStart () {
    this.audioCtx.seek(0)
  }
})

# InnerAudioContext

InnerAudioContext 实例,可通过 ft.InnerAudioContext 获取。

属性

  • string src
    ​ 音频资源的地址,用于直接播放。

  • number startTime
    ​ 开始播放的位置(单位:s),默认为 0

  • boolean autoplay
    是否自动开始播放,默认为 false

  • boolean loop
    是否循环播放,默认为 false

  • number volume
    音量。范围 0~1。默认为 1

  • number playbackRate
    播放速度。范围 0.5-2.0,默认为 1。

方法

  • InnerAudioContext.play()
    播放

  • InnerAudioContext.pause()
    暂停。暂停后的音频再播放会从暂停处开始播放

  • InnerAudioContext.stop()
    停止。停止后的音频再播放会从头开始播放。

  • InnerAudioContext.seek(number position)
    跳转到指定位置​

  • InnerAudioContext.destroy()
    销毁当前实例

  • InnerAudioContext.onCanplay(function callback)
    监听音频进入可以播放状态的事件。但不保证后面可以流畅播放

  • InnerAudioContext.offCanplay(function callback)
    取消监听音频进入可以播放状态的事件

  • InnerAudioContext.onPlay(function callback)
    监听音频播放事件

  • InnerAudioContext.offPlay(function callback)
    取消监听音频播放事件

  • InnerAudioContext.onPause(function callback)
    监听音频暂停事件

  • InnerAudioContext.offPause(function callback)
    取消监听音频暂停事件

  • InnerAudioContext.onStop(function callback)
    监听音频停止事件

  • InnerAudioContext.offStop(function callback)
    取消监听音频停止事件

  • InnerAudioContext.onEnded(function callback)
    监听音频自然播放至结束的事件

  • InnerAudioContext.offEnded(function callback)
    取消监听音频自然播放至结束的事件

  • InnerAudioContext.onTimeUpdate(function callback)
    监听音频播放进度更新事件

  • InnerAudioContext.offTimeUpdate(function callback)
    取消监听音频播放进度更新事件

  • InnerAudioContext.onError(function callback)
    监听音频播放错误事件

  • InnerAudioContext.offError(function callback)
    取消监听音频播放错误事件

  • InnerAudioContext.onWaiting(function callback)
    监听音频加载中事件。当音频因为数据不足,需要停下来加载时会触发

  • InnerAudioContext.offWaiting(function callback)
    取消监听音频加载中事件

  • InnerAudioContext.onSeeking(function callback)
    监听音频进行跳转操作的事件

  • InnerAudioContext.offSeeking(function callback)
    取消监听音频进行跳转操作的事件

  • InnerAudioContext.onSeeked(function callback)
    监听音频完成跳转操作的事件

  • InnerAudioContext.offSeeked(function callback)
    取消监听音频完成跳转操作的事件

示例代码

// innerAudioContext.js
const innerAudioContext = wx.createInnerAudioContext()
innerAudioContext.autoplay = true
innerAudioContext.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46'
innerAudioContext.onPlay(() => {
  console.log('开始播放')
})
innerAudioContext.onError((res) => {
  console.log(res.errMsg)
  console.log(res.errCode)
})

# 实时音视频

# createLivePusherContext

createLivePusherContext()

创建 live-pusher 上下文 LivePusherContext 对象。

返回值

LivePusherContext

# createLivePlayerContext

createLivePlayerContext()

创建 live-player 上下文 LivePlayerContext 对象。建议使用 ft.createSelectorQuery 获取 context 对象。

参数

string id

live-player 组件的 id

Object this

在自定义组件下,当前组件实例的this,以操作组件内 live-player 组件

返回值

LivePlayerContext

# 录音

# stopRecord

基础库1.3.9开始支持,iOS版本2.1.23,Android版本2.1.38, 依赖扩展 SDK

stopRecord(Object object)

停止录音。

示例代码

ft.startRecord({
  success(res) {
    const tempFilePath = res.tempFilePath
  }
})
setTimeout(function () {
  ft.stopRecord() // 结束录音
}, 10000)

# startRecord

基础库1.3.9开始支持,iOS版本2.1.23,Android版本2.1.38, 依赖扩展 SDK

startRecord(Object object)

开始录音。当主动调用 ft.stopRecord,或者录音超过1分钟时自动结束录音。当用户离开小程序时,此接口无法调用。

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数(当授权失败时,返回错误信息:fail unauthorized 用户未授予相机、录制音频权限)
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

参数

Object res

属性 类型 说明
tempFilePath string 录音文件的临时路径

示例代码

ft.startRecord({
  success(res) {
    const tempFilePath = res.tempFilePath
  }
})
setTimeout(function () {
  ft.stopRecord() // 结束录音
}, 10000)

注意

  • 接口授权失败(iOS):
  1. 用户拒绝授权,会返回错误信息: unauthorized,用户未授予麦克风权限
  2. 宿主App禁止小程序主动申请权限,会返回错误信息:unauthorized disableauthorized,SDK被禁止申请麦克风权限
  • 接口授权失败(Android):
  1. 用户拒绝授权,会返回错误信息:unauthorized 用户未授予相机、录制音频权限
  2. 宿主App禁止小程序主动申请权限,会返回错误信息:unauthorized disableauthorized SDK被禁止了主动发起运行时权限申请

# getRecorderManager

RecorderManager ft.getRecorderManager()

获取全局唯一的录音管理器 RecorderManager

返回值

RecorderManager

# RecorderManager

全局唯一的录音管理器

方法

  • RecorderManager.start(Object object)
    开始录音

  • RecorderManager.pause()
    暂停录音

  • RecorderManager.resume()
    继续录音

  • RecorderManager.stop()
    停止录音

  • RecorderManager.onStart(function callback)
    监听录音开始事件

  • RecorderManager.onResume(function callback)
    监听录音继续事件

  • RecorderManager.onPause(function callback)
    监听录音暂停事件

  • RecorderManager.onStop(function callback)
    监听录音结束事件

  • RecorderManager.onError(function callback)
    监听录音错误事件

  • RecorderManager.onInterruptionBegin(function callback)
    监听录音因为受到系统占用而被中断开始事件。pause 事件在此事件后触发​

  • RecorderManager.onInterruptionEnd(function callback)
    监听录音中断结束事件。在收到 interruptionBegin 事件之后,小程序内所有录音会暂停,收到此事件之后才可再次录音成功。

注意

  • 接口授权失败(iOS):
  1. 用户拒绝授权,会返回错误信息: unauthorized,用户未授予麦克风权限
  2. 宿主App禁止小程序主动申请权限,会返回错误信息:unauthorized disableauthorized,SDK被禁止申请麦克风权限

# 相机

# createCameraContext

createCameraContext()

创建 camera 上下文 CameraContext 对象。

返回值

CameraContext

# 富文本

# EditorContext.blur

EditorContext.blur(Object object)

编辑器失焦,同时收起键盘。

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

# EditorContext.clear

EditorContext.clear(Object object)

清空编辑器内容

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

# EditorContext.format

EditorContext.format(string name, string value)

修改样式

参数

string name

属性

string value

支持设置的样式列表

属性
bold
italic
underline
strike
ins
script sub / super
header H1 / H2 / h3 / H4 / h5 / H6
align left / center / right / justify
direction rtl
indent -1 / +1
list ordered / bullet / check
color hex color
backgroundColor hex color
margin/marginTop/marginBottom/marginLeft/marginRight css style
padding/paddingTop/paddingBottom/paddingLeft/paddingRight css style
font/fontSize/fontStyle/fontVariant/fontWeight/fontFamily css style
lineHeight css style
letterSpacing css style
textDecoration css style
textIndent css style
wordWrap css style
wordBreak css style
whiteSpace css style

对已经应用样式的选区设置会取消样式。css style 表示 css 中规定的允许值。

# EditorContext.getContents

EditorContext.getContents(Object object)

获取编辑器内容

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

参数

Object res

属性 类型 说明
html string 带标签的HTML内容
text string 纯文本内容
delta Object 表示内容的delta对象

# EditorContext.getSelectionText

EditorContext.getSelectionText(Object object)

获取编辑器已选区域内的纯文本内容。当编辑器失焦或未选中一段区间时,返回内容为空。

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

object.success 回调函数

参数

Object res

属性 类型 说明
text string 纯文本内容

# EditorContext.insertDivider

EditorContext.insertDivider(Object object)

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

# EditorContext.insertImage

EditorContext.insertImage(Object object)

插入图片。

地址为临时文件时,获取的编辑器html格式内容中 <img> 标签增加属性 data-local,delta 格式内容中图片 attributes 属性增加 data-local 字段,该值为传入的临时文件地址。

开发者可选择在提交阶段上传图片到服务器,获取到网络地址后进行替换。替换时对于html内容应替换掉 <img> 的 src 值,对于 delta 内容应替换掉 insert { image: abc } 值。

参数

Object object

属性 类型 默认值 必填 说明
src string 图片地址,仅支持 http(s)、base64、云图片(2.8.0)、临时文件(2.8.3)。
alt string 图像无法显示时的替代文本
width string 图片宽度(pixels/百分比)
height string 图片高度 (pixels/百分比)
extClass string 添加到图片 img 标签上的类名
data Object data 被序列化为 name=value;name1=value2 的格式挂在属性 data-custom 上
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

示例代码

this.editorCtx.insertImage({
  src: 'xx',
  width: '100px',
  height: '50px',
  extClass: className
})

# EditorContext.insertText

EditorContext.insertText(Object object)

覆盖当前选区,设置一段文本

参数

Object object

属性 类型 默认值 必填 说明
text string 文本内容
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

# EditorContext.redo

EditorContext.redo(Object object)

恢复

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

# EditorContext.removeFormat

EditorContext.removeFormat(Object object)

清除当前选区的样式

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

# EditorContext.scrollIntoView

EditorContext.scrollIntoView()

使得编辑器光标处滚动到窗口可视区域内。

# EditorContext.setContents

EditorContext.setContents(Object object)

初始化编辑器内容,html和delta同时存在时仅delta生效

参数

Object object

属性 类型 默认值 必填 说明
html string 带标签的HTML内容
delta Object 表示内容的delta对象
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)

# EditorContext.undo

EditorContext.undo(Object object)

参数

Object object

属性 类型 默认值 必填 说明
success function 接口调用成功的回调函数
fail function 接口调用失败的回调函数
complete function 接口调用结束的回调函数(调用成功、失败都会执行)
© 2021 凡泰极客
  • 免费试用
  • 编组
  • 编组 2