直播间组件

优质
小牛编辑
128浏览
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说明
名称说明类型
idmenu唯一idnumber
act_idmenu所属频道idnumber
typemenu的类型(1为聊天互动, 2为图文, 3为视频, 4为话题互动, 5为榜单,6照片直播,7问答,8商品管理,9文档)number
namemenu的名称string
ordermenu的顺序,小的排前面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贡献榜为2number
  • 分享榜字段说明
名称说明类型
is_display分享榜是否显示(true为显示,false为不显示)boolean
title分享榜名称string
limit分享榜名称number
type分享榜为1number
  • videos 格式
名称说明类型
video_id视频idstring
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说明
名称说明类型
idbanner唯一idnumber
act_idbanner所属频道idnumber
typebanner的类型(1为文字, 2为图片)number
textbanner文字string
imgbanner图片地址string
hrefbanner链接地址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说明
名称说明类型
idtheme唯一idnumber
nametheme的名称, 对应上面Mudu.Room.GetActiveTheme返回的值string
bannertheme的顶部图片string
bg_colortheme的观看页背景色string
footertheme的页脚信息string
cover_imgtheme的频道图标string
act_idtheme所属频道idstring

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')
        }
    )