uniapp直播弹幕怎么实现(uniapp音视频开发系列3)

直播弹幕是指观众在直播过程中可以发表自己的评论,并以滑动而过的字幕显示出来,增加了观众之间的互动性。

弹幕本质上是消息的一种,ZEGO 提供多种文本消息的收发功能,实现发送房间内弹幕消息、广播消息、简单 IM 文字聊天、点赞、送礼物、答题等功能。

ZEGO实时消息功能简介

消息类型功能描述应用场景
广播消息向同一房间内所有用户发送文本消息,默认支持最多前 500 个加入房间的用户能收到该消息。一般当直播房间人数小于 500 时发送该类消息。可用于简单的房间内聊天室场景。
弹幕消息观众在直播过程中可以发表自己的评论,并以滑动而过的字幕显示出来,增加了观众之间的互动性。一般用于房间内有大量消息收发,且不需要保证消息可靠性的场景,例如直播弹幕
自定义信令向同一房间内单个或多个用户发送消息。一般用于远程控制信令或简单的文字消息发送。比如在线娃娃机场景中,远程控制娃娃机夹子的移动。

uniapp直播弹幕实现前提条件

在实现房间实时消息之前,请确保:

  • 已在项目中集成 ZEGO Express SDK,实现基本的实时音视频功能,详情请参考 快速开始 – 集成 和 快速开始 – 实现视频通话。
  • 已在 ZEGO 控制台创建项目,并申请有效的 AppID 和 AppSign,详情请参考 控制台 – 项目信息

接入ZEGO SDK后,实现直播弹幕消息功能非常简单,只需调用相关接口即可实现,步骤如下。

收发弹幕消息

  • 发送弹幕消息

调用 sendBarrageMessage 接口向同一房间内的其他用户发送弹幕消息,长度不能超过 1024 字节。

通过 ZegoIMSendBarrageMessageResult 异步结果的返回获取消息发送结果。

// 发送房间弹幕消息,每个登录房间的用户都会通过 IMRecvBarrageMessage 事件收到此消息

ZegoExpressEngine.instance(). sendBarrageMessage("ChatRoom-1", "This is a barrage message").then((result) => {
    // 获取消息发送结果
})
  • 接收弹幕消息

通过调用 ZegoExpressEngine 的 on 方法,设置监听 IMRecvBarrageMessage 的事件回调,当发送方成功发送弹幕消息后,同一房间内的其他用户通过此回调接收相关信息,包括消息内容、消息 ID、发送时间及发送方信息。

ZegoExpressEngine.instance().on('IMRecvBarrageMessage', (roomID, messageList) => {
      console.log("received barrage message") 
})

直播弹幕 API 参考

本文为原创稿件,版权归作者所有,如需转载,请注明出处:https://www.nxrte.com/jishu/yinshipin/25160.html

(1)

相关推荐

发表回复

登录后才能评论