直播间组件
优质
小牛编辑
133浏览
2023-12-01
Mudu.Room 直播间组件
获取直播间名字
// 返回直播间名字,类型为string
var roomName = Mudu.Room.GetName()
获取直播状态
// 返回直播状态,类型为number: `1`为正在直播,`0`为不在直播
var roomLiveStatus = Mudu.Room.GetLiveStatus()
获取直播间浏览量
// 返回直播间浏览量,类型为number整数
var roomViewNum = Mudu.Room.GetViewNum()
获取直播间视频地址
// 返回直播间视频地址,类型为string
var roomPlayAddr = Mudu.Room.GetPlayAddr(streamType)
- streamType说明 (1.17.4及以后的版本支持流类型选择参数):
名称 | 说明 | 类型 |
---|---|---|
streamType | 流类型 | 'flash','h5' |
不传入参数:保留之前逻辑,PC端自动选择flash,移动端自动选择h5
获取直播间视频地址列表
// 返回直播间视频地址列表,类型为array
var roomPlayAddr = Mudu.Room.GetPlayList()
获取视频回看配置
// 返回视频回看配置
var trailer = Mudu.Room.GetTrailer()
Room.GetPlayAddrList() 获取多流切换playlist
var roomPlayAddrList = Mudu.Room.GetPlayAddrList()
获取当前频道是否有多个线路或分辨率可提供切换
// 返回直播间视频地址,类型为boolean
var roomHasMultiStreamLine = Mudu.Room.HasMultiStreamLine()
- trailer 说明
名称 | 说明 | 类型 |
---|---|---|
open | 是否开启视频回看 | boolean |
m3u8 | 视频回看的视频地址 | string |
trailer_img | 视频回看的视频封面 | string |
获取直播间自定义菜单
// 返回直播间自定义菜单, 类型为Array
Mudu.Room.GetMenus();
- 单个menu说明
名称 | 说明 | 类型 |
---|---|---|
id | menu唯一id | number |
act_id | menu所属频道id | number |
type | menu的类型(1为聊天互动, 2为图文, 3为视频, 4为话题互动, 5为榜单,6照片直播,7问答,8商品管理,9文档) | number |
name | menu的名称 | string |
order | menu的顺序,小的排前面 | number |
rich_text_url | 图文menu的详细信息地址 | string |
photo_live_url | 照片直播地址 | string |
ranks | 榜单menu详细信息 | array |
videos | 详细视频列表信息列表,仅当type为3时存在 | array |
- 贡献榜字段说明(menu.type为5,menu.ranks为贡献榜&分享榜配置数据)
名称 | 说明 | 类型 |
---|---|---|
is_display | 贡献榜是否显示(true为显示,false为不显示) | boolean |
title | 贡献榜名称 | string |
limit | 贡献榜名称 | number |
type | 贡献榜为2 | number |
- 分享榜字段说明
名称 | 说明 | 类型 |
---|---|---|
is_display | 分享榜是否显示(true为显示,false为不显示) | boolean |
title | 分享榜名称 | string |
limit | 分享榜名称 | number |
type | 分享榜为1 | number |
- videos 格式
名称 | 说明 | 类型 |
---|---|---|
video_id | 视频id | string |
video_name | 视频名称 | string |
video_duration | 视频时长 | number |
video_thumb | 视频封面 | string |
获取视频地址
// 传入视频id, promise中返回视频地址 Mudu.Room.GetVideoInfo(video_id)
示例
Mudu.Room.GetVideoInfo(video_id).then(response => { console.log(response) })
response格式
名称 | 说明 | 类型 |
---|---|---|
url | 视频地址 | string |
获取直播间自定义广告栏
// 返回直播间自定义广告栏, 类型为Array
var ads = Mudu.Room.GetBanners();
- 单个banner说明
名称 | 说明 | 类型 |
---|---|---|
id | banner唯一id | number |
act_id | banner所属频道id | number |
type | banner的类型(1为文字, 2为图片) | number |
text | banner文字 | string |
img | banner图片地址 | string |
href | banner链接地址 | string |
display_view_num | 是否显示手机端评论数(1为显示, 0为不显示) | number |
display_link | 是否显示文字链接(预留字段,暂未使用) | number |
获取直播间主题名称
// 返回直播间主题名称, 类型为string: 目前有两个值(default, tech)
var activeTheme = Mudu.Room.GetActiveTheme()
获取直播间主题配置
// 返回直播间主题配置,类型为Array
var themes = Mudu.Room.GetThemes()
若返回空数组: 则需要在
频道管理
->基础设置
->观看页主题设置
提交保存一下
- 单个theme说明
名称 | 说明 | 类型 |
---|---|---|
id | theme唯一id | number |
name | theme的名称, 对应上面Mudu.Room.GetActiveTheme 返回的值 | string |
banner | theme的顶部图片 | string |
bg_color | theme的观看页背景色 | string |
footer | theme的页脚信息 | string |
cover_img | theme的频道图标 | string |
act_id | theme所属频道id | string |
Room.StreamEvent 事件
Room.StreamEvent事件会在直播流状态改变时(通常是后台开始直播或者关闭直播)被触发
Mudu.MsgBus.On(
// 事件名,值为Room.StreamEvent
'Room.StreamEvent',
// 事件处理函数,参数类型为object
function (data) {
data = JSON.parse(data)
var msg = data.event == 1 ? '开始直播' : '停止直播'
console.log(msg)
}
)
- 事件处理函数参数newComment对象示例说明
{ // 当前直播间流名称
stream: 'ww8j01',
// 开启还是关闭,开启为1, 关闭为0
event: 1
}
Room.SwitchQuality 事件
Room.SwitchQuality事件会在切换流分辨率时被触发
Mudu.MsgBus.On(
// 事件名,值为Player.SwitchQuality
'Player.SwitchQuality',
// 事件处理函数,参数为当前player组件对象
function (player) {
console.log('Player.SwitchQuality')
}
)