自定义房间信令
更新时间: 2024/09/02 15:10:23
本文主要介绍如何通过 NERoom SDK 实现自定义房间信令的收发,后续用户实现实时字幕展示。
发送自定义房间信令
可以通过客户端和 服务端 API 实现自定义房间信令的发送。
本文主要介绍如何通过客户端 API 发送自定义房间信令。
给目标用户发送自定义信令
调用 sendCustomMessage
方法给目标用户发送自定义消息,包括房间内/房间外消息。
cpp/**
* @brief 给房间内的[userUuid]发送自定义消息,如房间内信令
* @param roomUuid 房间ID
* @param userUuid 发送目标用户ID
* @param commandId 消息类型
* @param data 自定义的消息内容
* @param callback 回调函数
* @return void
*/
virtual void sendCustomMessage(const std::string& roomUuid,
const std::string& userUuid,
int commandId,
const std::string& data,
const NEMessageCallback& callback) = 0;
neroom::INEMessageChannelService* service = nullptr;
/// 检查INEMessageChannelService对象是否存在
auto roomkit = neroom::createNERoomKit();
if (roomkit == nullptr || roomkit->getMessageChannelService() == nullptr) {
Napi::TypeError::New(env, "Null pointer exception").ThrowAsJavaScriptException();
return false;
}
if (service != NULL) {
*service = roomkit->getMessageChannelService();
}else{
return false;
}
service->sendCustomMessage(roomUuid, userUuid, commandId, data, [=](int code, const std::string& msg) {
}
接收自定义房间信令
-
调用如下接口添加自定义房间信令接收的监听。
cpp
/** * @brief 添加消息监听 * @param listener 消息监听对象 {@link INEMessageChannelListener} * @return void */ virtual void addMessageChannelListener(INEMessageChannelListener* listener) = 0;
-
调用如下接口实现自定义房间信令的接收,并处理接收到的自定义房间信令。
cpp
//处理接收到的消息 neroom::INEMessageChannelService* service = neroom::createNERoomKit()->getMessageChannelService(); INERoomMessageChannelListener* listener = new INERoomMessageChannelListener(fn); INERoomMessageChannelListener::INERoomMessageChannelListener(const Napi::Function& fn) { callback = new INERoomMessageChannelListenerCallback(fn); } INERoomMessageChannelListener::~INERoomMessageChannelListener() {} void INERoomMessageChannelListener::onCustomMessageReceived(const neroom::NECustomMessage& message) { callback->onCustomMessageReceived(message); }
此文档是否对你有帮助?