微信小程序中媒体api总结

图片

wx.chooseImage(OBJECT)

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

OBJECT参数说明:

参数名类型必填说明
countNumber最多可以选择的图片张数,默认9
sizeTypeStringArrayoriginal 原图,compressed 压缩图,默认二者都有
sourceTypeStringArrayalbum 从相册选图,camera 使用相机,默认二者都有
successFunction成功则返回图片的本地文件路径列表 tempFilePaths
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

注:文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用 wx.saveFile,在小程序下次启动时才能访问得到。

success返回参数说明:

参数名类型说明最低版本
tempFilePathsStringArray图片的本地文件路径列表
tempFilesObjectArray图片的本地文件列表,每一项是一个 File 对象1.2.0

File 对象结构如下:

字段类型说明
pathString本地文件路径
sizeNumber本地文件大小,单位:B
wx.chooseImage({
  count: 1, // 默认9
  sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
  sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
  success: function (res) {
    // 返回选定照片的本地文件路径列表,tempFilePath可以作为img标签的src属性显示图片
    var tempFilePaths = res.tempFilePaths
  }
})

wx.previewImage(OBJECT)

预览图片。2.3.0起支持云文件ID

参数名类型必填说明
currentString当前显示图片的链接,不填则默认为 urls 的第一张
urlsStringArray需要预览的图片链接列表
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)
wx.previewImage({
  current: '', // 当前显示图片的http链接
  urls: [] // 需要预览的图片http链接列表
})

wx.getImageInfo(OBJECT)

获取图片信息,倘若为网络图片,需先配置download域名才能生效

OBJECT参数说明:

参数名类型必填说明
srcString图片的路径,可以是相对路径,临时文件路径,存储文件路径,网络图片路径
successFunction成功则返回图片的本地文件路径列表 tempFilePaths
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数名类型说明最低版本
widthNumber图片宽度,单位px
heightNumber图片高度,单位px
pathString返回图片的本地路径
orientationString返回图片的方向,有效值见下表1.9.90
typeString返回图片的格式1.9.90

orientation参数说明:

枚举值说明
up默认
down180度旋转
left逆时针旋转90度
right顺时针旋转90度
up-mirrored同up,但水平翻转
down-mirrored同down,但水平翻转
left-mirrored同left,但垂直翻转
right-mirrored同right,但垂直翻转
wx.getImageInfo({
  src: 'images/a.jpg',
  success: function (res) {
    console.log(res.width)
    console.log(res.height)
  }
})
wx.chooseImage({
  success: function (res) {
    wx.getImageInfo({
      src: res.tempFilePaths[0],
      success: function (res) {
        console.log(res.width)
        console.log(res.height)
      }
    })
  }
})

wx.saveImageToPhotosAlbum(OBJECT)

保存图片到系统相册。需要用户授权 scope.writePhotosAlbum; 基础库 1.2.0 开始支持,低版本需做兼容处理。

OBJECT参数说明:

参数名类型必填说明
filePathString图片文件路径,可以是临时文件路径也可以是永久文件路径,不支持网络图片路径
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数名类型说明
errMsgString调用结果
wx.saveImageToPhotosAlbum({
    success(res) {
    }
})

录音

wx.startRecord(OBJECT)

开始录音。当主动调用wx.stopRecord,或者录音超过1分钟时自动结束录音,返回录音文件的临时文件路径。当用户离开小程序时,此接口无法调用。注意:1.6.0 版本开始,本接口不再维护。建议使用能力更强的 wx.getRecorderManager 接口

需要用户授权 scope.record

OBJECT参数说明:

参数类型必填说明
successFunction录音成功后调用,返回录音文件的临时文件路径,res = {tempFilePath: '录音文件的临时路径'}
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

注:文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用wx.saveFile,在小程序下次启动时才能访问得到

success返回参数说明:

参数说明
tempFilePath录音文件的临时路径

wx.stopRecord()

​主动调用停止录音

wx.startRecord({
  success: function(res) {
    var tempFilePath = res.tempFilePath 
  },
  fail: function(res) {
     //录音失败
  }
})
setTimeout(function() {
  //结束录音  
  wx.stopRecord()
}, 10000)

录音管理

wx.getRecorderManager()

获取全局唯一的录音管理器 recorderManager。基础库 1.6.0 开始支持,低版本需做兼容处理

recorderManager

recorderManager 对象的方法列表:

方法参数说明
startoptions开始录音
pause 暂停录音
resume 继续录音
stop 停止录音
onStartcallback录音开始事件
onPausecallback录音暂停事件
onStopcallback录音停止事件,会回调文件地址
onFrameRecordedcallback已录制完指定帧大小的文件,会回调录音分片结果数据。如果设置了 frameSize ,则会回调此事件
onErrorcallback录音错误事件, 会回调错误信息

start(options) 说明:

属性类型必填说明支持版本
durationNumber指定录音的时长,单位ms,如果传入了合法的duration,在到达指定的duration后会自动停止录音,最大值600000(10分钟),默认值60000(1分钟)1.6.0
sampleRateNumber采样率,有效值 8000/16000/441001.6.0
numberOfChannelsNumber录音通道数,有效值 1/21.6.0
encodeBitRateNumber编码码率,有效值见下表格1.6.0
formatString音频格式,有效值 aac/mp31.6.0
frameSizeNumber指定帧大小,单位 KB。传入 frameSize 后,每录制指定帧大小的内容后,会回调录制的文件内容,不指定则不会回调。暂仅支持 mp3 格式1.6.0
audioSourceString指定音频输入源,默认值为 'auto'2.1.0

其中,采样率和码率有一定要求,具体有效值如下:

采样率编码码率
800016000 ~ 48000
1102516000 ~ 48000
1200024000 ~ 64000
1600024000 ~ 96000
2205032000 ~ 128000
2400032000 ~ 128000
3200048000 ~ 192000
4410064000 ~ 320000
4800064000 ~ 320000

audioSource 有效值:

说明支持平台
auto自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风iOS/Android/devtools
buildInMic手机麦克风iOS
headsetMic耳机麦克风iOS
mic麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风Android
camcorder摄像头的麦克风Android

onStop(callback) 回调结果说明:

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

onFrameRecorded(callback) 回调结果说明:

属性类型说明
frameBufferArrayBuffer录音分片结果数据
isLastFrameBoolean当前帧是否正常录音结束前的最后一帧

onError(callback) 回调结果说明:

属性类型说明
errMsgString错误信息
const recorderManager = wx.getRecorderManager()
recorderManager.onStart(() => {
  console.log('recorder start')
})
recorderManager.onPause(() => {
  console.log('recorder pause')
})
recorderManager.onStop((res) => {
  console.log('recorder stop', res)
  const { tempFilePath } = res
})
recorderManager.onFrameRecorded((res) => {
  const { frameBuffer } = res
  console.log('frameBuffer.byteLength', frameBuffer.byteLength)
})
const options = {
  duration: 10000,
  sampleRate: 44100,
  numberOfChannels: 1,
  encodeBitRate: 192000,
  format: 'aac',
  frameSize: 50
}
recorderManager.start(options)

音频播放控制

wx.playVoice(OBJECT)

开始播放语音,同时只允许一个语音文件正在播放,如果前一个语音文件还没播放完,将中断前一个语音播放。 注意:1.6.0 版本开始,本接口不再维护。建议使用能力更强的 wx.createInnerAudioContext 接口

OBJECT参数说明:

参数类型必填说明最低版本
filePathString需要播放的语音文件的文件路径
durationNumber指定录音时长,到达指定的录音时长后会自动停止录音,单位:秒,默认值:601.6.0
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)
wx.startRecord({
  success: function(res) {
    var tempFilePath = res.tempFilePath
    wx.playVoice({
      filePath: tempFilePath,
      complete: function(){
      }
    })
  }
})

wx.pauseVoice()

暂停正在播放的语音。再次调用wx.playVoice播放同一个文件时,会从暂停处开始播放。如果想从头开始播放,需要先调用 wx.stopVoice

wx.startRecord({
  success: function(res) {
    var tempFilePath = res.tempFilePath
    wx.playVoice({
      filePath: tempFilePath
    })    
    setTimeout(function() {
      //暂停播放
      wx.pauseVoice()
    }, 5000)
  }
})

wx.stopVoice()

结束播放语音

wx.startRecord({
  success: function(res) {
    var tempFilePath = res.tempFilePath
    wx.playVoice({
      filePath:tempFilePath
    })  
    setTimeout(function(){
      wx.stopVoice()
    }, 5000)
  }
})

音乐播放控制

wx.getBackgroundAudioPlayerState(OBJECT)

获取后台音乐播放状态

注意:1.2.0 版本开始,本接口不再维护。建议使用能力更强的 wx.getBackgroundAudioManager 接口

OBJECT参数说明:

参数类型必填说明
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数说明
duration选定音频的长度(单位:s),只有在当前有音乐播放时返回
currentPosition选定音频的播放位置(单位:s),只有在当前有音乐播放时返回
status播放状态(2:没有音乐在播放,1:播放中,0:暂停中)
downloadPercent音频的下载进度(整数,80代表80%),只有在当前有音乐播放时返回
dataUrl歌曲数据链接,只有在当前有音乐播放时返回
wx.getBackgroundAudioPlayerState({
    success: function(res) {
        var status = res.status
        var dataUrl = res.dataUrl
        var currentPosition = res.currentPosition
        var duration = res.duration
        var downloadPercent = res.downloadPercent
    }
})

wx.playBackgroundAudio(OBJECT)

使用后台播放器播放音乐,对于微信客户端来说,只能同时有一个后台音乐在播放。当用户离开小程序后,音乐将暂停播放;当用户在其他小程序占用了音乐播放器,原有小程序内的音乐将停止播放

OBJECT参数说明:

参数类型必填说明
dataUrlString音乐链接,目前支持的格式有 m4a, aac, mp3, wav
titleString音乐标题
coverImgUrlString封面URL
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)
wx.playBackgroundAudio({
    dataUrl: '',
    title: '',
    coverImgUrl: ''
})

wx.pauseBackgroundAudio()

暂停播放音乐

wx.pauseBackgroundAudio()

wx.seekBackgroundAudio(OBJECT)

控制音乐播放进度

OBJECT参数说明:

参数类型必填说明
positionNumber音乐位置,单位:秒
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)
wx.seekBackgroundAudio({
    position: 30
})

wx.stopBackgroundAudio()

停止播放音乐

wx.stopBackgroundAudio()

wx.onBackgroundAudioPlay(CALLBACK)

监听音乐播放

wx.onBackgroundAudioPause(CALLBACK)

监听音乐暂停

wx.onBackgroundAudioStop(CALLBACK)

监听音乐停止

bug: iOS 6.3.30 wx.seekBackgroundAudio 会有短暂延迟

背景音频播放管理

wx.getBackgroundAudioManager()

基础库 1.2.0 开始支持,低版本需做兼容处理。

获取全局唯一的背景音频管理器 backgroundAudioManager。

小程序切入后台,如果音频处于播放状态,可以继续播放。但是后台状态不能通过调用API操纵音频的播放状态。

注:从微信客户端6.7.2版本开始,若需要在小程序切后台后继续播放音频,需要在 app.json 中配置 requiredBackgroundModes 属性。开发版和体验版上可以直接生效,正式版还需通过审核。

backgroundAudioManager 对象的属性列表:

参数类型只读说明最低版本
durationNumber当前音频的长度(单位:s),只有在当前有合法的 src 时返回
currentTimeNumber当前音频的播放位置(单位:s),只有在当前有合法的 src 时返回
pausedBoolean当前是是否暂停或停止状态,true 表示暂停或停止,false 表示正在播放
srcString音频的数据源,支持云文件ID(2.2.3起),默认为空字符串,当设置了新的 src 时,会自动开始播放 ,目前支持的格式有 m4a, aac, mp3, wav
startTimeNumber音频开始播放的位置(单位:s)
bufferedNumber音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲
titleString音频标题,用于做原生音频播放器音频标题(必填)。原生音频播放器中的分享功能,分享出去的卡片标题,也将使用该值
epnameString专辑名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值
singerString歌手名,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值
coverImgUrlString封面图url,用于做原生音频播放器背景图。原生音频播放器中的分享功能,分享出去的卡片配图及背景也将使用该图
webUrlString页面链接,原生音频播放器中的分享功能,分享出去的卡片简介,也将使用该值
protocolString音频协议。默认值为 'http',设置 'hls' 可以支持播放 HLS 协议的直播音频1.9.94

backgroundAudioManager 对象的方法列表:

方法参数说明支持版本
play 播放
pause 暂停
stop 停止
seekposition跳转到指定位置,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度
onCanplaycallback背景音频进入可以播放状态,但不保证后面可以流畅播放
onPlaycallback背景音频播放事件
onSeekingcallback背景音频开始跳转操作事件2.2.3
onSeekedcallback背景音频完成跳转操作事件2.2.3
onPausecallback背景音频暂停事件
onStopcallback背景音频停止事件
onEndedcallback背景音频自然播放结束事件
onTimeUpdatecallback背景音频播放进度更新事件
onPrevcallback用户在系统音乐播放面板点击上一曲事件(iOS only)
onNextcallback用户在系统音乐播放面板点击下一曲事件(iOS only)
onErrorcallback背景音频播放错误事件
onWaitingcallback音频加载中事件,当音频因为数据不足,需要停下来加载时会触发

errcode 说明

errCode说明
10001系统错误
10002网络错误
10003文件错误
10004格式错误
-1未知错误
const backgroundAudioManager = wx.getBackgroundAudioManager()
backgroundAudioManager.title = '此时此刻'
backgroundAudioManager.epname = '此时此刻'
backgroundAudioManager.singer = '许巍'
backgroundAudioManager.coverImgUrl = 'http://y.gtimg.cn/music/photo_new/T002R300x300M000003rsKF44GyaSk.jpg?max_age=2592000'
backgroundAudioManager.src = 'http://ws.stream.qqmusic.qq.com/M500001VfvsJ21xFqb.mp3?guid=ffffffff82def4af4b12b3cd9337d5e7&uin=346897220&vkey=6292F51E1E384E061FF02C31F716658E5C81F5594D561F2E88B854E81CAAB7806D5E4F103E55D33C16F3FAC506D1AB172DE8600B37E43FAD&fromtag=46' // 设置了 src 之后会自动播放

音频组件控制

wx.createAudioContext(audioId, this)

创建并返回 audio 上下文 audioContext 对象。在自定义组件下,第二个参数传入组件实例this,以操作组件内 组件

注意:1.6.0 版本开始,本接口不再维护。建议使用能力更强的 wx.createInnerAudioContext 接口

audioContext

audioContext 通过 audioId 跟一个 <audio/> 组件绑定,通过它可以操作对应的 <audio/> 组件

audioContext 对象的方法列表:

方法参数说明
setSrcsrc音频的地址
play播放
pause暂停
seekposition跳转到指定位置,单位 s
<!-- audio.wxml -->
<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: function (e) {
    // 使用 wx.createAudioContext 获取 audio 上下文 context
    this.audioCtx = wx.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: function () {
    this.audioCtx.play()
  },
  audioPause: function () {
    this.audioCtx.pause()
  },
  audio14: function () {
    this.audioCtx.seek(14)
  },
  audioStart: function () {
    this.audioCtx.seek(0)
  }
})

wx.createInnerAudioContext()

创建并返回内部 audio 上下文 innerAudioContext 对象。本接口是 wx.createAudioContext 升级版。基础库 1.6.0 开始支持,低版本需做兼容处理

innerAudioContext

innerAudioContext 对象的属性列表:

属性类型说明只读支持版本
srcString音频的数据链接,用于直接播放。支持云文件ID(2.2.3起)
startTimeNumber开始播放的位置(单位:s),默认 0
autoplayBoolean是否自动开始播放,默认 false
loopBoolean是否循环播放,默认 false
obeyMuteSwitchBoolean是否遵循系统静音开关,当此参数为 false 时,即使用户打开了静音开关,也能继续发出声音,默认值 true
durationNumber当前音频的长度(单位:s),只有在当前有合法的 src 时返回
currentTimeNumber当前音频的播放位置(单位:s),只有在当前有合法的 src 时返回,时间不取整,保留小数点后 6 位
pausedBoolean当前是是否暂停或停止状态,true 表示暂停或停止,false 表示正在播放
bufferedNumber音频缓冲的时间点,仅保证当前播放时间点到此时间点内容已缓冲
volumeNumber音量。范围 0~11.9.90

innerAudioContext 对象的方法列表:

方法参数说明支持版本
play播放
pause暂停
stop停止
seekposition跳转到指定位置,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度
destroy销毁当前实例
onCanplaycallback音频进入可以播放状态,但不保证后面可以流畅播放
onPlaycallback音频播放事件
onPausecallback音频暂停事件
onStopcallback音频停止事件
onEndedcallback音频自然播放结束事件
onTimeUpdatecallback音频播放进度更新事件
onErrorcallback音频播放错误事件
onWaitingcallback音频加载中事件,当音频因为数据不足,需要停下来加载时会触发
onSeekingcallback音频进行 seek 操作事件
onSeekedcallback音频完成 seek 操作事件
offCanplaycallback取消监听 onCanplay 事件1.9.0
offPlaycallback取消监听 onPlay 事件1.9.0
offPausecallback取消监听 onPause 事件1.9.0
offStopcallback取消监听 onStop 事件1.9.0
offEndedcallback取消监听 onEnded 事件1.9.0
offTimeUpdatecallback取消监听 onTimeUpdate 事件1.9.0
offErrorcallback取消监听 onError 事件1.9.0
offWaitingcallback取消监听 onWaiting 事件1.9.0
offSeekingcallback取消监听 onSeeking 事件1.9.0
offSeekedcallback取消监听 onSeeked 事件1.9.0

errCode 说明

errCode说明
10001系统错误
10002网络错误
10003文件错误
10004格式错误
-1未知错误
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)
})

wx.getAvailableAudioSources(OBJECT)

获取当前支持的音频输入源。基础库 2.1.0 开始支持,低版本需做兼容处理

参数类型必填说明
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数类型说明
audioSourcesArrayString音频输入源,每一项对应一种音频输入源

audioSource 有效值:

说明支持平台
auto自动设置,默认使用手机麦克风,插上耳麦后自动切换使用耳机麦克风iOS/Android/devtools
buildInMic手机麦克风iOS
headsetMic耳机麦克风iOS
mic麦克风(没插耳麦时是手机麦克风,插耳麦时是耳机麦克风Android
camcorder摄像头的麦克风Android

视频

wx.chooseVideo(OBJECT)

拍摄视频或从手机相册中选视频,返回视频的临时文件路径

OBJECT参数说明:

参数类型必填说明
sourceTypeStringArrayalbum 从相册选视频,camera 使用相机拍摄,默认为:['album', 'camera']
compressedBoolean是否压缩所选的视频源文件,默认值为true,需要压缩
maxDurationNumber拍摄视频最长拍摄时间,单位秒。最长支持 60 秒
successFunction接口调用成功,返回视频文件的临时文件路径,详见返回参数说明
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数说明
tempFilePath选定视频的临时文件路径
duration选定视频的时间长度
size选定视频的数据量大小
height返回选定视频的长
width返回选定视频的宽

注:文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用 wx.saveFile,在小程序下次启动时才能访问得到

<view class="container">
    <video src="{{src}}"></video>
    <button bindtap="bindButtonTap">获取视频</button>
</view>
Page({
    bindButtonTap: function() {
        var that = this
        wx.chooseVideo({
            sourceType: ['album','camera'],
            maxDuration: 60,
            camera: 'back',
            success: function(res) {
                that.setData({
                    src: res.tempFilePath
                })
            }
        })
    }
})

wx.saveVideoToPhotosAlbum(OBJECT)

保存视频到系统相册。需要用户授权 scope.writePhotosAlbum。基础库 1.2.0 开始支持,低版本需做兼容处理

OBJECT参数说明:

参数类型必填说明
filePathString视频文件路径,可以是临时文件路径也可以是永久文件路径
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

success返回参数说明:

参数名类型说明
errMsgString调用结果
wx.saveVideoToPhotosAlbum({
  filePath: 'wxfile://xxx'
  success(res) {
    console.log(res.errMsg)
  }
})

tip: camera 参数在部分 Android 手机下由于系统 ROM 不支持无法生效

视频组件控制

wx.createVideoContext(videoId, this)

创建并返回 video 上下文 videoContext 对象。在自定义组件下,第二个参数传入组件实例this,以操作组件内 <video/> 组件

videoContext

videoContext 通过 videoId 跟一个 video 组件绑定,通过它可以操作一个 video 组件

videoContext 对象的方法列表:

方法参数说明支持版本
play播放
pause暂停
stop停止1.7.0
seekposition跳转到指定位置,单位 s
sendDanmudanmu发送弹幕,danmu 包含两个属性 text, color
playbackRaterate设置倍速播放,支持的倍率有 0.5/0.8/1.0/1.25/1.51.4.0
requestFullScreen进入全屏,可传入{direction}参数(1.7.0起支持),详见video组件文档1.4.0
exitFullScreen退出全屏1.4.0
showStatusBar显示状态栏,仅在iOS全屏下有效2.1.0
hideStatusBar隐藏状态栏,仅在iOS全屏下有效2.1.0
<view class="section tc">
  <video id="myVideo" src="http://wxsnsdy.tc.qq.com/105/20210/snsdyvideodownload?filekey=30280201010421301f0201690402534804102ca905ce620b1241b726bc41dcff44e00204012882540400&bizid=1023&hy=SH&fileparam=302c020101042530230204136ffd93020457e3c4ff02024ef202031e8d7f02030f42400204045a320a0201000400"   enable-danmu danmu-btn controls></video>
  <view class="btn-area">
    <input bindblur="bindInputBlur"/>
    <button bindtap="bindSendDanmu">发送弹幕</button>
  </view>
</view>
function getRandomColor () {
  let rgb = []
  for (let i = 0 ; i < 3; ++i){
    let color = Math.floor(Math.random() * 256).toString(16)
    color = color.length == 1 ? '0' + color : color
    rgb.push(color)
  }
  return '#' + rgb.join('')
}
Page({
  onReady: function (res) {
    this.videoContext = wx.createVideoContext('myVideo')
  },
  inputValue: '',
  bindInputBlur: function(e) {
    this.inputValue = e.detail.value
  },
  bindSendDanmu: function () {
    this.videoContext.sendDanmu({
      text: this.inputValue,
      color: getRandomColor()
    })
  }
})

相机组件控制

wx.createCameraContext(this)

创建并返回 camera 上下文 cameraContext 对象,cameraContext 与页面的 camera 组件绑定,一个页面只能有一个camera,通过它可以操作对应的 组件。 在自定义组件下,第一个参数传入组件实例this,以操作组件内 组件

cameraContext

cameraContext 对象的方法列表:

方法参数说明
takePhotoOBJECT拍照,可指定质量,成功则返回图片
startRecordOBJECT开始录像
stopRecordOBJECT结束录像,成功则返回封面与视频

takePhoto 的 OBJECT 参数列表:

参数类型必填说明
qualityString成像质量,值为high, normal, low,默认normal
successFunction接口调用成功的回调函数 ,res = { tempImagePath }
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

startRecord 的 OBJECT 参数列表:

参数类型必填说明
timeoutCallbackFunction超过30s或页面onHide时会结束录像,res = { tempThumbPath, tempVideoPath }
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

stopRecord 的 OBJECT 参数列表:

参数类型必填说明
successFunction接口调用成功的回调函数 ,res = { tempThumbPath, tempVideoPath }
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

实时音视频

wx.createLivePlayerContext(domId, this)

操作对应的 组件。 创建并返回 live-player 上下文 LivePlayerContext 对象。在自定义组件下,第二个参数传入组件实例this,以操作组件内 组件。基础库 1.7.0 开始支持,低版本需做兼容处理

livePlayerContext

livePlayerContext 对象的方法列表:

方法参数说明支持版本
playOBJECT播放
pauseOBJECT暂停1.9.90
stopOBJECT停止
muteOBJECT静音
resumeOBJECT恢复1.9.90
exitFullScreenOBJECT退出全屏
requestFullScreenOBJECT进入全屏
requestFullScreen 的 OBJECT 参数列表:
参数类型必填说明
directionNumber有效值为 0(正常竖向), 90(屏幕逆时针90度), -90(屏幕顺时针90度)
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

其他方法的 OBJECT 参数列表:

参数类型必填说明
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

wx.createLivePusherContext()

创建并返回 live-pusher 上下文 LivePusherContext 对象,LivePusherContext 与页面的 组件绑定,一个页面只能有一个 live-pusher,通过它可以操作对应的 组件。 在自定义组件下,第一个参数传入组件实例this,以操作组件内 组件

livePusherContext

livePusherContext 对象的方法列表:

方法参数说明支持版本
startOBJECT播放推流
pauseOBJECT暂停推流
stopOBJECT停止推流
resumeOBJECT恢复推流
switchCameraOBJECT切换前后摄像头
snapshotOBJECT快照1.9.90
toggleTorchOBJECT切换闪光灯2.1.0

所有方法的 OBJECT 参数列表:

参数类型必填说明
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

动态加载字体

wx.loadFontFace(OBJECT)

动态加载网络字体,文件地址需为下载类型。IOS下仅支持https格式文件地址。基础库 2.1.0 开始支持,低版本需做兼容处理

OBJECT参数说明:

参数类型必填说明
familyString定义的字体名称
sourceString字体资源的地址
descObject可选的字体描述符
successFunction接口调用成功的回调函数
failFunction接口调用失败的回调函数
completeFunction接口调用结束的回调函数(调用成功、失败都会执行)

desc参数说明:

字段说明
stylenormal / italic / oblique定义字体的样式,默认是"normal"
weightnormal / bold / 100 / 200../ 900定义字体的粗细,默认是"normal"
variantnormal / small-caps / inherit设置小型大写字母的字体显示文本,默认是"normal "
wx.loadFontFace({
  family: 'Bitstream Vera Serif Bold',
  source: 'url("https://sungd.github.io/Pacifico.ttf")',
  success: function(res) {
    console.log(res.status) //  loaded
  },
  fail: function(res) {
    console.log(res.status) //  error
  },
  complete: function(res) {
    console.log(res.status);
  }
});

tip:引入的外部字体资源,建议格式为TTF和WOFF,WOFF2在低版本的IOS上会不兼容

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值