uni直播是DCloud与七牛云合作推出的直播服务,七牛云直播依托云边一体化架构和海量节点资源,构建高效的流媒体服务。通过多维度的节点监控与弹性的节点调度管理,确保高质量服务与成本效益的完美平衡。

live-player 组件是uni直播服务中的拉流(播放)组件,在 Android/iOS 平台使用需要申请绑定包名/Bundle ID(AppID),详情咨询

# live-player

实时音视频播放

# 兼容性

Web 微信小程序 Android iOS HarmonyOS
x 4.41 4.81 4.81 x

# 属性

名称 类型 默认值 兼容性 描述
src string(string.VideoURIString) -
音视频地址。微信小程序支持 flv, rtmp 格式,app平台支持 rtmp, hls 协议
mode string -
live(直播),RTC(实时通话)
合法值 兼容性 描述
RTC
-
live
-
autoplay boolean false
自动播放
muted boolean false
是否静音
orientation string "vertical"
画面方向,可选值有 vertical,horizontal
合法值 兼容性 描述
vertical
-
horizontal
-
object-fit string "contain"
填充模式,可选值有 contain,fillCrop
合法值 兼容性 描述
contain
-
fillCrop
-
background-mute boolean false
进入后台时是否静音
min-cache string -
最小缓冲区,单位s
max-cache string -
最大缓冲区,单位s
@statechange (event: UniLivePlayerStatechangeEvent) => void -
播放状态变化事件,event.detail = {code}
@fullscreenchange (event: UniLivePlayerFullscreenchangeEvent) => void -
全屏变化事件,event.detail = {direction, fullScreen}
@error (event: UniLivePlayerErrorEvent) => void -
错误事件,event.detail = {errCode, errMsg}
@netstatus (event: UniEvent) => void -
网络状态通知,detail = {info}
sound-mode string -
(string)
声音输出方式
合法值 兼容性 描述
speaker
扬声器
ear
听筒
auto-pause-if-navigate boolean -
(boolean)
当跳转到本小程序的其他页面时,是否自动暂停本页面的实时音视频播放
auto-pause-if-open-native boolean -
(boolean)
当跳转到其它微信原生页面时,是否自动暂停本页面的实时音视频播放
picture-in-picture-mode string/Array -
(string/Array)
设置小窗模式: push, pop,空字符串或通过数组形式设置多种模式(如: ["push", "pop"]
合法值 兼容性 描述
[]
取消小窗
push
路由 push 时触发小窗
pop
路由 pop 时触发小窗
picture-in-picture-init-position= string -
(string)
小窗模式下小窗的初始显示位置,格式为 (alignment, y),其中 alignment 表示小窗吸附屏幕左侧还是右侧,可选值为 left、right,y 代表小窗最顶部所在的屏幕高度百分比
enable-auto-rotation boolean -
(boolean)
是否开启手机横屏时自动全屏,当系统设置开启自动旋转时生效
referrer-policy string -
(string)
格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本;
合法值 兼容性 描述
origin
发送完整的referrer
no-referrer
不发送
enable-casting boolean -
(boolean)
是否支持投屏。开启后,可以通过 LivePlayerContext 上相关方法进行操作。
@audiovolumenotify eventhandler -
(eventhandler)
播放音量大小通知,detail = {}
@enterpictureinpicture eventhandler -
(eventhandler)
播放器进入小窗
@leavepictureinpicture eventhandler -
(eventhandler)
播放器退出小窗
@castinguserselect eventhandler -
(eventhandler)
用户选择投屏设备时触发 detail = { state: "success"/"fail" }
@castingstatechange eventhandler -
(eventhandler)
投屏成功/失败时触发 detail = { type, state: "success"/"fail" }
@castinginterrupt eventhandler -
(eventhandler)
投屏被中断时触发

# 事件

# UniLivePlayerStatechangeEvent

播放状态变化事件

# UniLivePlayerStatechangeEvent 的属性值
名称 类型 必填 默认值 兼容性 描述
detail UniLivePlayerStatechangeEventDetail - - -
名称 类型 必备 默认值 兼容性 描述
code number -
状态码
合法值 兼容性 描述
10000 - -
10001 - 初始化
10002 - 准备播放
10004 - 播放中
10006 - 停止渲染
10007 - 播放完成
10008 - 播放进度跳转中
10009 - 播放停止
10010 - 播放错误
10011 - 播放结束
10012 - -
10013 - 资源释放
bubbles boolean - - -
cancelable boolean - - -
type string - - -
target UniElement - - -
currentTarget UniElement - - -
timeStamp Long - - -
# UniLivePlayerStatechangeEvent 的方法
名称 类型 必填 默认值 兼容性 描述
stopPropagation () => void - - -
preventDefault () => void - - -

# UniLivePlayerFullscreenchangeEvent

全屏事件

# UniLivePlayerFullscreenchangeEvent 的属性值
名称 类型 必填 默认值 兼容性 描述
detail UniLivePlayerFullscreenchangeEventDetail - - -
名称 类型 必备 默认值 兼容性 描述
direction string -
屏幕方向
fullScreen boolean -
是否全屏
bubbles boolean - - -
cancelable boolean - - -
type string - - -
target UniElement - - -
currentTarget UniElement - - -
timeStamp Long - - -
# UniLivePlayerFullscreenchangeEvent 的方法
名称 类型 必填 默认值 兼容性 描述
stopPropagation () => void - - -
preventDefault () => void - - -

# UniLivePlayerErrorEvent

错误事件

# UniLivePlayerErrorEvent 的属性值
名称 类型 必填 默认值 兼容性 描述
detail UniLivePlayerError - - -
名称 类型 必备 默认值 兼容性 描述
errCode number -
错误码
合法值 兼容性 描述
3001 - 当前视频格式不支持,视频无法播放
3002 - 视频解码失败
3003 - 不支持的解码格式
3004 - 重连失败,请检查网络情况
3005 - 视频播放失败,请检查网络或视频资源
errMsg string -
错误信息
bubbles boolean - - -
cancelable boolean - - -
type string - - -
target UniElement - - -
currentTarget UniElement - - -
timeStamp Long - - -
# UniLivePlayerErrorEvent 的方法
名称 类型 必填 默认值 兼容性 描述
stopPropagation () => void - - -
preventDefault () => void - - -

# 音视频协议

  • 支持 rtmp、hls 协议格式。

# 上下文对象API

uni.createLivePlayerContext()

# 参见