媒体组件

优质
小牛编辑
135浏览
2023-12-01

媒体组件说明

组件说明最低版本备注
audio音频1.0.0
image图片1.0.0
video视频1.0.0
camera照相机2.9.3
live-player实时音频播放2.10.1需配合第三方音视频 SDK 使用
live-pusher实时音频录制2.10.1需配合第三方音视频 SDK 使用
voip-room多人音视频对话不支持

audio

属性类型默认值必填说明最低版本
idstringaudio 组件的唯一标识符1.0.0
srcstring要播放音频的资源地址1.0.0
loopbooleanfalse是否循环播放1.0.0
controlsbooleanfalse是否显示默认控件1.0.0
posterstring默认控件上的音频封面的图片资源地址,如果 controls 属性值为 false 则设置 poster 无效1.0.0
namestring未知音频默认控件上的音频名字,如果 controls 属性值为 false 则设置 name 无效1.0.0
authorstring未知作者默认控件上的作者名字,如果 controls 属性值为 false 则设置 author 无效1.0.0
binderroreventhandle当发生错误时触发 error 事件,detail = {errMsg:MediaError.code}1.0.0
bindplayeventhandle当开始/继续播放时触发play事件1.0.0
bindpauseeventhandle当暂停播放时触发 pause 事件1.0.0
bindtimeupdateeventhandle当播放进度改变时触发 timeupdate 事件,detail = {currentTime, duration}1.0.0
bindendedeventhandle当播放到末尾时触发 ended 事件1.0.0

image

属性类型默认值必填说明最低版本
srcstring图片资源地址
modestringscaleToFill图片裁剪、缩放的模式
binderroreventhandle当错误发生时触发,event.detail = {errMsg}
bindloadeventhandle当图片载入完毕时触发,event.detail = {height, width}
webpbooleanfalse默认不解析 webP 格式,只支持网络资源不支持
lazy-loadbooleanfalse图片懒加载,在即将进入一定范围(上下三屏)时才开始加载不支持
show-menu-by-longpressbooleanfalse开启长按图片显示识别小程序码菜单不支持

mode 的合法值

说明最低版本
scaleToFill缩放模式,不保持纵横比缩放图片,使图片的宽高完全拉伸至填满 image 元素
aspectFit缩放模式,保持纵横比缩放图片,使图片的长边能完全显示出来。也就是说,可以完整地将图片显示出来。
aspectFill缩放模式,保持纵横比缩放图片,只保证图片的短边能完全显示出来。也就是说,图片通常只在水平或垂直方向是完整的,另一个方向将会发生截取。
widthFix缩放模式,宽度不变,高度自动变化,保持原图宽高比不变
heightFix缩放模式,高度不变,宽度自动变化,保持原图宽高比不变
top裁剪模式,不缩放图片,只显示图片的顶部区域
bottom裁剪模式,不缩放图片,只显示图片的底部区域
center裁剪模式,不缩放图片,只显示图片的中间区域
left裁剪模式,不缩放图片,只显示图片的左边区域
right裁剪模式,不缩放图片,只显示图片的右边区域
top left裁剪模式,不缩放图片,只显示图片的左上边区域
top right裁剪模式,不缩放图片,只显示图片的右上边区域
bottom left裁剪模式,不缩放图片,只显示图片的左下边区域
bottom right裁剪模式,不缩放图片,只显示图片的右下边区域

live-player

属性类型默认值必填说明最低版本
srcstring音视频地址。目前仅支持 flv, rtmp 格式1.7.0
modestringlive模式1.7.0
autoplaybooleanfalse自动播放1.7.0
mutedbooleanfalse是否静音1.7.0
orientationstringvertical画面方向1.7.0
object-fitstringcontain填充模式,可选值有 contain,fillCrop1.7.0
background-mutebooleanfalse进入后台时是否静音(已废弃,默认退后台静音)1.7.0
min-cachenumber1最小缓冲区,单位s(RTC 模式推荐 0.2s)1.7.0
max-cachenumber3最大缓冲区,单位s(RTC 模式推荐 0.8s)。缓冲区用来抵抗网络波动,缓冲数据越多,网络抗性越好,但时延越大。1.7.0
sound-modestringspeaker声音输出方式1.9.90
auto-pause-if-navigatebooleantrue当跳转到本小程序的其他页面时,是否自动暂停本页面的实时音视频播放2.5.0
auto-pause-if-open-nativebooleantrue当跳转到其它微信原生页面时,是否自动暂停本页面的实时音视频播放2.5.0
picture-in-picture-modestring/Array设置小窗模式: push, pop,空字符串或通过数组形式设置多种模式(如: ["push", "pop"])2.10.3
bindstatechangeeventhandle播放状态变化事件,detail = {code}1.7.0
bindfullscreenchangeeventhandle全屏变化事件,detail = {direction, fullScreen}1.7.0
bindnetstatuseventhandle网络状态通知,detail = {info}1.9.0
bindaudiovolumenotifyeventhandler播放音量大小通知,detail = {}2.10.0
bindenterpictureinpictureeventhandler播放器进入小窗2.11.0
bindleavepictureinpictureeventhandler播放器退出小窗2.11.0

mode 的合法值

说明最低版本
live直播
RTC实时通话,该模式时延更低

orientation 的合法值

说明最低版本
vertical竖直
horizontal水平

object-fit 的合法值

说明最低版本
contain图像长边填满屏幕,短边区域会被填充⿊⾊
fillCrop图像铺满屏幕,超出显示区域的部分将被截掉

sound-mode 的合法值

说明最低版本
speaker扬声器
ear听筒

picture-in-picture-mode 的合法值

说明最低版本
[]取消小窗
push路由 push 时触发小窗
pop路由 pop 时触发小窗

状态码

代码说明
2001已经连接服务器
2002已经连接 RTMP 服务器,开始拉流
2003网络接收到首个视频数据包(IDR)
2004视频播放开始
2005视频播放进度
2006视频播放结束
2007视频播放Loading
2008解码器启动
2009视频分辨率改变
-2301网络断连,且经多次重连抢救无效,更多重试请自行重启播放
-2302获取加速拉流地址失败
2101当前视频帧解码失败
2102当前音频帧解码失败
2103网络断连, 已启动自动重连
2104网络来包不稳:可能是下行带宽不足,或由于主播端出流不均匀
2105当前视频播放出现卡顿
2106硬解启动失败,采用软解
2107当前视频帧不连续,可能丢帧
2108当前流硬解第一个I帧失败,SDK自动切软解
3001RTMP -DNS解析失败
3002RTMP服务器连接失败
3003RTMP服务器握手失败
3005RTMP 读/写失败,之后会发起网络重试

网络状态数据

键名说明
videoBitrate当前视频编/码器输出的比特率,单位 kbps
audioBitrate当前音频编/码器输出的比特率,单位 kbps
videoFPS当前视频帧率
videoGOP当前视频 GOP,也就是每两个关键帧(I帧)间隔时长,单位 s
netSpeed当前的发送/接收速度
netJitter网络抖动情况,为 0 时表示没有任何抖动,值越大表明网络抖动越大,网络越不稳定
netQualityLevel网络质量:0:未定义 1:最好 2:好 3:一般 4:差 5:很差 6:不可用
videoWidth视频画面的宽度
videoHeight视频画面的高度
videoCache缓冲的视频总时长,单位毫秒
audioCache缓冲的音频总时长,单位毫秒
vDecCacheSize解码器中缓存的视频帧数 (Android 端硬解码时存在)
vSumCacheSize缓冲的总视频帧数,该数值越大,播放延迟越高
avPlayInterval音画同步错位时间(播放),单位 ms,此数值越小,音画同步越好
avRecvInterval音画同步错位时间(网络),单位 ms,此数值越小,音画同步越好
audioCacheThreshold音频缓冲时长阈值,缓冲超过该阈值后,播放器会开始调控延时

live-pusher

属性类型默认值必填说明最低版本
urlstring推流地址。目前仅支持 rtmp 格式1.7.0
modestringRTCSD(标清), HD(高清), FHD(超清), RTC(实时通话)1.7.0
autopushbooleanfalse自动推流1.7.0
mutedbooleanfalse是否静音。即将废弃,可用 enable-mic 替代1.7.0
enable-camerabooleantrue开启摄像头1.7.0
auto-focusbooleantrue自动聚集1.7.0
orientationstringvertical画面方向1.7.0
beautynumber0美颜,取值范围 0-9 ,0 表示关闭1.7.0
whitenessnumber0美白,取值范围 0-9 ,0 表示关闭1.7.0
aspectstring9:16宽高比,可选值有 3:4, 9:161.7.0
min-bitratenumber200最小码率1.7.0
max-bitratenumber1000最大码率1.7.0
audio-qualitystringhigh高音质(48KHz)或低音质(16KHz),值为high, low1.7.0
waiting-imagestring进入后台时推流的等待画面1.7.0
waiting-image-hashstring等待画面资源的MD5值1.7.0
zoombooleanfalse调整焦距2.1.0
device-positionstringfront前置或后置,值为front, back2.3.0
background-mutebooleanfalse进入后台时是否静音(已废弃,默认退后台静音)1.7.0
mirrorbooleanfalse设置推流画面是否镜像,产生的效果在 live-player 反应到2.7.0
remote-mirrorbooleanfalse同 mirror 属性,后续 mirror 将废弃2.10.0
local-mirrorstringauto控制本地预览画面是否镜像2.10.0
audio-reverb-typenumber0音频混响类型2.10.0
enable-micbooleantrue开启或关闭麦克风2.10.0
enable-agcbooleanfalse是否开启音频自动增益2.10.0
enable-ansbooleanfalse是否开启音频噪声抑制2.10.0
audio-volume-typestringauto音量类型2.10.0
video-widthnumber360上推的视频流的分辨率宽度2.10.0
video-heightnumber640上推的视频流的分辨率高度2.10.0
beauty-stylestringsmooth设置美颜类型2.12.0
filterstringstandard设置色彩滤镜2.12.0
bindstatechangeeventhandle状态变化事件,detail = {code}1.7.0
bindnetstatuseventhandle网络状态通知,detail = {info}1.9.0
binderroreventhandle渲染错误事件,detail = {errMsg, errCode}1.7.4
bindbgmstarteventhandle背景音开始播放时触发2.4.0
bindbgmprogresseventhandle背景音进度变化时触发,detail = {progress, duration}2.4.0
bindbgmcompleteeventhandle背景音播放完成时触发2.4.0
bindaudiovolumenotifyeventhandle返回麦克风采集的音量大小2.12.0

orientation 的合法值

说明最低版本
vertical竖直
horizontal水平

local-mirror 的合法值

说明最低版本
auto前置摄像头镜像,后置摄像头不镜像
enable前后置摄像头均镜像
disable前后置摄像头均不镜像

audio-reverb-type 的合法值

说明最低版本
0关闭
1KTV
2小房间
3大会堂
4低沉
5洪亮
6金属声
7磁性

audio-volume-type 的合法值

说明最低版本
auto自动
media媒体音量
voicecall通话音量

beauty-style 的合法值

说明最低版本
smooth光滑美颜
nature自然美颜

filter 的合法值

说明最低版本
standard标准
pink粉嫩
nostalgia怀旧
blues蓝调
romantic浪漫
cool清凉
fresher清新
solor日系
aestheticism唯美
whitening美白
cerisered樱红

video

属性类型默认值必填说明最低版本
srcstring要播放视频的资源地址,支持网络路径、本地临时路径、云文件ID(2.3.0)1.0.0
durationnumber指定视频时长1.1.0
controlsbooleantrue是否显示默认播放控件(播放/暂停按钮、播放进度、时间)1.0.0
danmu-listArray.<object>弹幕列表1.0.0
danmu-btnbooleanfalse是否显示弹幕按钮,只在初始化时有效,不能动态变更1.0.0
enable-danmubooleanfalse是否展示弹幕,只在初始化时有效,不能动态变更1.0.0
autoplaybooleanfalse是否自动播放1.0.0
loopbooleanfalse是否循环播放不支持
mutedbooleanfalse是否静音播放不支持
initial-timenumber0指定视频初始播放位置不支持
page-gesturebooleanfalse在非全屏模式下,是否开启亮度与音量调节手势(废弃,见 vslide-gesture)不支持
directionnumber设置全屏时视频的方向,不指定则根据宽高比自动判断不支持
show-progressbooleantrue若不设置,宽度大于240时才会显示不支持
show-fullscreen-btnbooleantrue是否显示全屏按钮不支持
show-play-btnbooleantrue是否显示视频底部控制栏的播放按钮不支持
show-center-play-btnbooleantrue是否显示视频中间的播放按钮不支持
enable-progress-gesturebooleantrue是否开启控制进度的手势不支持
object-fitstringcontain当视频大小与 video 容器大小不一致时,视频的表现形式1.0.0
posterstring视频封面的图片网络资源地址或云文件ID(2.3.0)。若 controls 属性值为 false 则设置 poster 无效1.0.0
show-mute-btnbooleanfalse是否显示静音按钮不支持
titlestring视频的标题,全屏时在顶部展示不支持
play-btn-positionstringbottom播放按钮的位置不支持
enable-play-gesturebooleanfalse是否开启播放手势,即双击切换播放/暂停不支持
auto-pause-if-navigatebooleantrue当跳转到本小程序的其他页面时,是否自动暂停本页面的视频播放不支持
auto-pause-if-open-nativebooleantrue当跳转到其它APP原生页面时,是否自动暂停本页面的视频不支持
vslide-gesturebooleanfalse在非全屏模式下,是否开启亮度与音量调节手势(同 page-gesture)不支持
vslide-gesture-in-fullscreenbooleantrue在全屏模式下,是否开启亮度与音量调节手势不支持
ad-unit-idstring视频前贴广告单元ID,更多详情可参考开放能力视频前贴广告不支持
poster-for-crawlerstring用于给搜索等场景作为视频封面展示,建议使用无播放 icon 的视频封面图,只支持网络地址不支持
show-casting-buttonbooleanfalse显示投屏按钮。Android 在同层渲染下生效,支持 DLNA 协议;iOS 支持 AirPlay 和 DLNA 协议不支持
picture-in-picture-modestring/Array设置小窗模式: push, pop,空字符串或通过数组形式设置多种模式(如: ["push", "pop"])不支持
picture-in-picture-show-progressbooleanfalse是否在小窗模式下显示播放进度不支持
enable-auto-rotationbooleanfalse是否开启手机横屏时自动全屏,当系统设置开启自动旋转时生效不支持
show-screen-lock-buttonbooleanfalse是否显示锁屏按钮,仅在全屏时显示,锁屏后控制栏的操作不支持
show-snapshot-buttonbooleanfalse是否显示截屏按钮,仅在全屏时显示不支持
bindplayeventhandle当开始/继续播放时触发play事件1.0.0
bindpauseeventhandle当暂停播放时触发 pause 事件1.0.0
bindendedeventhandle当播放到末尾时触发 ended 事件1.0.0
bindtimeupdateeventhandle播放进度变化时触发,event.detail = {currentTime, duration} 。触发频率 250ms 一次1.0.0
bindfullscreenchangeeventhandle视频进入和退出全屏时触发,event.detail = {fullScreen, direction},direction 有效值为 vertical 或 horizontal1.0.0
bindwaitingeventhandle视频出现缓冲时触发不支持
binderroreventhandle视频播放出错时触发不支持
bindprogresseventhandle加载进度变化时触发,只支持一段加载。event.detail = {buffered},百分比不支持
bindloadedmetadataeventhandle视频元数据加载完成时触发。event.detail = {width, height, duration}不支持
bindcontrolstoggleeventhandle切换 controls 显示隐藏时触发。event.detail = {show}不支持
bindenterpictureinpictureeventhandler播放器进入小窗不支持
bindleavepictureinpictureeventhandler播放器退出小窗不支持
bindseekcompleteeventhandlerseek 完成时触发 (position iOS 单位 s, Android 单位 ms)不支持

native-view

原生view容器

属性类型默认值必填说明最低版本
typestringcamera原生容器类型,设置只会不可改变
optionsstring{}传递给原生组件的自定义参数,使用json数据string格式化结果
bindontaskeventhandle接收原生组件发送事件

示例代码

<native-view type="{{type}}" options="{{options}}" bindready="bindonready"></native-view>

注:如需全局监听native-view事件,参考 onCustomEvent API

camera

属性类型默认值必填说明最低版本
modestringnormal应用模式,只在初始化时有效,不能动态变更
resolutionstringmedium分辨率,不支持动态修改
device-positionstringback摄像头朝向
flashstringauto闪光灯,值为auto, on, off
frame-sizestringmedium指定期望的相机帧数据尺寸
bindstopeventhandle摄像头在非正常终止时触发,如退出后台等情况
binderroreventhandle用户不允许使用摄像头时触发
bindinitdoneeventhandle相机初始化完成时触发,e.detail = {maxZoom}
bindscancodeeventhandle在扫码识别成功时触发,仅在 mode="scanCode" 时生效