图片

wx.chooseImage(OBJECT)

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

OBJECT参数说明:

参数名 类型 必填 说明
count Number 最多可以选择的图片张数,默认9
sizeType StringArray original 原图,compressed 压缩图,默认二者都有
sourceType StringArray album 从相册选图,camera 使用相机,默认二者都有
success Function 成功则返回图片的本地文件路径列表 tempFilePaths
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

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

success返回参数说明:

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

File 对象结构如下:

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

wx.previewImage(OBJECT)

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

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

wx.getImageInfo(OBJECT)

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

OBJECT参数说明:

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

success返回参数说明:

参数名 类型 说明 最低版本
width Number 图片宽度,单位px
height Number 图片高度,单位px
path String 返回图片的本地路径
orientation String 返回图片的方向,有效值见下表 1.9.90
type String 返回图片的格式 1.9.90

orientation参数说明:

枚举值 说明
up 默认
down 180度旋转
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参数说明:

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

success返回参数说明:

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

录音

wx.startRecord(OBJECT)

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

需要用户授权 scope.record

OBJECT参数说明:

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

注:文件的临时路径,在小程序本次启动期间可以正常使用,如需持久保存,需在主动调用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 对象的方法列表:

方法 参数 说明
start options 开始录音
pause 暂停录音
resume 继续录音
stop 停止录音
onStart callback 录音开始事件
onPause callback 录音暂停事件
onStop callback 录音停止事件,会回调文件地址
onFrameRecorded callback 已录制完指定帧大小的文件,会回调录音分片结果数据。如果设置了 frameSize ,则会回调此事件
onError callback 录音错误事件, 会回调错误信息

start(options) 说明:

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

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

采样率 编码码率
8000 16000 ~ 48000
11025 16000 ~ 48000
12000 24000 ~ 64000
16000 24000 ~ 96000
22050 32000 ~ 128000
24000 32000 ~ 128000
32000 48000 ~ 192000
44100 64000 ~ 320000
48000 64000 ~ 320000

audioSource 有效值:

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

onStop(callback) 回调结果说明:

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

onFrameRecorded(callback) 回调结果说明:

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

onError(callback) 回调结果说明:

属性 类型 说明
errMsg String 错误信息
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 } = resconsole.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参数说明:

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

wx.pauseVoice()

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

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

wx.stopVoice()

结束播放语音

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

音乐播放控制

wx.getBackgroundAudioPlayerState(OBJECT)

获取后台音乐播放状态

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

OBJECT参数说明:

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

success返回参数说明:

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

wx.playBackgroundAudio(OBJECT)

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

OBJECT参数说明:

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

wx.pauseBackgroundAudio()

暂停播放音乐

wx.pauseBackgroundAudio()

wx.seekBackgroundAudio(OBJECT)

控制音乐播放进度

OBJECT参数说明:

参数 类型 必填 说明
position Number 音乐位置,单位:秒
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)
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 对象的属性列表:

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

backgroundAudioManager 对象的方法列表:

方法 参数 说明 支持版本
play 播放
pause 暂停
stop 停止
seek position 跳转到指定位置,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度
onCanplay callback 背景音频进入可以播放状态,但不保证后面可以流畅播放
onPlay callback 背景音频播放事件
onSeeking callback 背景音频开始跳转操作事件 2.2.3
onSeeked callback 背景音频完成跳转操作事件 2.2.3
onPause callback 背景音频暂停事件
onStop callback 背景音频停止事件
onEnded callback 背景音频自然播放结束事件
onTimeUpdate callback 背景音频播放进度更新事件
onPrev callback 用户在系统音乐播放面板点击上一曲事件(iOS only)
onNext callback 用户在系统音乐播放面板点击下一曲事件(iOS only)
onError callback 背景音频播放错误事件
onWaiting callback 音频加载中事件,当音频因为数据不足,需要停下来加载时会触发

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 对象的方法列表:

方法 参数 说明
setSrc src 音频的地址
play 播放
pause 暂停
seek position 跳转到指定位置,单位 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 上下文 contextthis.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 对象的属性列表:

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

innerAudioContext 对象的方法列表:

方法 参数 说明 支持版本
play 播放
pause 暂停
stop 停止
seek position 跳转到指定位置,单位 s。精确到小数点后 3 位,即支持 ms 级别精确度
destroy 销毁当前实例
onCanplay callback 音频进入可以播放状态,但不保证后面可以流畅播放
onPlay callback 音频播放事件
onPause callback 音频暂停事件
onStop callback 音频停止事件
onEnded callback 音频自然播放结束事件
onTimeUpdate callback 音频播放进度更新事件
onError callback 音频播放错误事件
onWaiting callback 音频加载中事件,当音频因为数据不足,需要停下来加载时会触发
onSeeking callback 音频进行 seek 操作事件
onSeeked callback 音频完成 seek 操作事件
offCanplay callback 取消监听 onCanplay 事件 1.9.0
offPlay callback 取消监听 onPlay 事件 1.9.0
offPause callback 取消监听 onPause 事件 1.9.0
offStop callback 取消监听 onStop 事件 1.9.0
offEnded callback 取消监听 onEnded 事件 1.9.0
offTimeUpdate callback 取消监听 onTimeUpdate 事件 1.9.0
offError callback 取消监听 onError 事件 1.9.0
offWaiting callback 取消监听 onWaiting 事件 1.9.0
offSeeking callback 取消监听 onSeeking 事件 1.9.0
offSeeked callback 取消监听 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 开始支持,低版本需做兼容处理

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

success返回参数说明:

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

audioSource 有效值:

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

视频

wx.chooseVideo(OBJECT)

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

OBJECT参数说明:

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

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 = thiswx.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参数说明:

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

success返回参数说明:

参数名 类型 说明
errMsg String 调用结果
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
seek position 跳转到指定位置,单位 s
sendDanmu danmu 发送弹幕,danmu 包含两个属性 text, color
playbackRate rate 设置倍速播放,支持的倍率有 0.5/0.8/1.0/1.25/1.5 1.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 : colorrgb.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 对象的方法列表:

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

takePhoto 的 OBJECT 参数列表:

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

startRecord 的 OBJECT 参数列表:

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

stopRecord 的 OBJECT 参数列表:

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

实时音视频

wx.createLivePlayerContext(domId, this)

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

livePlayerContext

livePlayerContext 对象的方法列表:

方法 参数 说明 支持版本
play OBJECT 播放
pause OBJECT 暂停 1.9.90
stop OBJECT 停止
mute OBJECT 静音
resume OBJECT 恢复 1.9.90
exitFullScreen OBJECT 退出全屏
requestFullScreen OBJECT 进入全屏

requestFullScreen 的 OBJECT 参数列表:

参数 类型 必填 说明
direction Number 有效值为 0(正常竖向), 90(屏幕逆时针90度), -90(屏幕顺时针90度)
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

其他方法的 OBJECT 参数列表:

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

wx.createLivePusherContext()

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

livePusherContext

livePusherContext 对象的方法列表:

方法 参数 说明 支持版本
start OBJECT 播放推流
pause OBJECT 暂停推流
stop OBJECT 停止推流
resume OBJECT 恢复推流
switchCamera OBJECT 切换前后摄像头
snapshot OBJECT 快照 1.9.90
toggleTorch OBJECT 切换闪光灯 2.1.0

所有方法的 OBJECT 参数列表:

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

动态加载字体

wx.loadFontFace(OBJECT)

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

OBJECT参数说明:

参数 类型 必填 说明
family String 定义的字体名称
source String 字体资源的地址
desc Object 可选的字体描述符
success Function 接口调用成功的回调函数
fail Function 接口调用失败的回调函数
complete Function 接口调用结束的回调函数(调用成功、失败都会执行)

desc参数说明:

字段 说明
style normal / italic / oblique 定义字体的样式,默认是"normal"
weight normal / bold / 100 / 200../ 900 定义字体的粗细,默认是"normal"
variant normal / 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上会不兼容

微信小程序中媒体api总结相关推荐

  1. 微信小程序合成海报_利用微信小程序中Canvas API来合成海报生成组件封装

    每个小程序成型后,一般都会选择生成带菊花码的海报分享出去来吸引更多的流量.下面来介绍下其他的一种实现方式吧 原理:主要利用微信小程序强大的Canvas API来合成,生成后可用wx.canvasToT ...

  2. 如何在微信小程序中调用腾讯地图api

    微信小程序的地图api是非常有限的,如果要搜索地图上的位置,比如附近的医院.学校等,就需要使用地图api,使用腾讯地图api的过程如下: 一.开发者申请腾讯地图 进入官网http://lbs.qq.c ...

  3. 小程序 | 微信小程序中使用位置API打开地图

    小程序 | 微信小程序中使用位置API打开地图 一.效果展示 二.代码实现 使用微信内置地图查看位置,调用wx.openLocationAPI,具体内容可以查看微信官方文档. // js let In ...

  4. Canvas绘图在微信小程序中的应用:生成个性化海报 1

    一.Canvas应用的背景(个人理解)及基础语法 背景 从2012年开始,微信那个时候用户的积累的量已经非常大了,推出公众号,当然大屏智能手机在那个时候也流行,传统的大众媒体逐步消亡,像微信公众号这样 ...

  5. Canvas绘图在微信小程序中的应用:生成个性化海报

    Canvas绘图在微信小程序中的应用:生成个性化海报 如极客时间的一些实现案例: 基础语法 Canvas本质是一个可以使用脚本(通常为JavaScript)来绘制图形的 HTML 元素,默认大小为30 ...

  6. 在微信小程序中绘制图表(part3)

    本期大纲 1.饼图绘制 2.如何添加动画效果 3.使用rollup构建项目 相关阅读: 在微信小程序中绘制图表(part1) 在微信小程序中绘制图表(part2) 关注我的 github 项目 查看完 ...

  7. 微信小程序中用户登录和登录态维护

    微信小程序和以前的web项目不同,他是前后端分离的应用,之前我们的传统登录有web服务器提供Session维护, 后端在返回结果给前端web项目时,带上cookie,且以cookie值为key存储用户 ...

  8. 微信小程序中如何发送客服消息给用户

    微信小程序是一种快速开发和发布应用程序的平台,可以为用户提供各种服务和功能.而与用户进行沟通和交互是实现这些目标的重要步骤之一.因此,在本文中,我们将介绍如何在微信小程序中使用客服消息来与用户进行联系 ...

  9. 微信开发上传视频到服务器,微信小程序中实现上传视频的开发代码

    微信小程序中实现上传视频的开发代码,视频,接口,上传,代码,服务器 微信小程序中实现上传视频的开发代码 易采站长站,站长之家为您整理了微信小程序中实现上传视频的开发代码的相关内容. 本篇文章给大家带来 ...

  10. 在微信小程序中,如果自动获取用户所在的省市地区?

    可以通过微信小程序提供的API获取用户所在的省市地区信息.具体步骤如下: 在小程序中需要获取用户地理位置时,需要先在app.json中配置"permission"字段,并开启用户授 ...

最新文章

  1. dw8与mysql的连接,VS2019连接mysql8.0数据库的教程图文详解
  2. 图解在反汇编中识别VC++之if-else分支语句
  3. for循环中new的对象什么时候被回收_你真的了解JS里的 new 吗?
  4. 前端学习(1386):多人管理项目6骨架
  5. mssql 字增自段怎样重置(重新自增)|清空表已有数据
  6. 因曝光“同事被抬上救护车”被开除?拼多多:该员工在匿名社区发布极端言论...
  7. 策略模式思想及示例代码(Strategy)
  8. 【Vue2.0学习】—Vuex工作原理图(二十五)
  9. 无聊时对连分数的思考
  10. Android Toast 总结
  11. python数独游戏源代码_Python数独游戏源代码
  12. 想入行SAP咨询,最具性价比的方式
  13. Dart语言入门(一)
  14. markdown转html格式
  15. Swing Jtable 设置单元格不可编辑
  16. 获取局域网远程主机ipv6地址
  17. vue+vant仿微信聊天画面做了个点击按钮出现土味情话的界面
  18. 关于不过洋节的通知_关于不过洋节的作文 3篇
  19. elk笔记20--Analysis
  20. 【服务器数据恢复】服务器5盘RAID5重建为4盘RAID5后的数据恢复案例

热门文章

  1. 剑指Offer——数组中出现次数超过一半的数字
  2. JavaScript中对象的属性:如何遍历属性
  3. 160809312 王仲超 第四次作业
  4. 将button改为圆形(swift/oc/xcode/iOS)
  5. setInterval 函数
  6. js返回上一页的实现方法
  7. 计算给定坐标系和各个定点坐标的凸多边形的面积
  8. Silverlight调用一般性处理程序模拟Silverlight调用WCF效果(2)
  9. 菜鸟涂鸦作品展_No.24
  10. HTML - 'MARQUEE'