实现聊天消息

更新时间: 2022/11/04 10:02:17

主唱、合唱者和观众在房间内可以发送和接收在线聊天消息。本文介绍如何通过 NERoom 实现文字聊天消息。

发送文字消息的示例代码如下:


    /// 发送文字聊天消息
    /// - Parameters:
    ///   - content: 发送的聊天内容
    ///   - callback: 回调
    public func sendTextMessage(_ content: String,
                                callback: NEKaraokeCallback<AnyObject>? = nil) {
        NEKaraokeLog.apiLog(kitTag, desc: "Send text message. Content: \(content).")
        guard let roomContext = roomContext else {
            NEKaraokeLog.errorLog(kitTag, desc: "Failed to send text message. RoomContext is nil.")
            callback?(NEKaraokeErrorCode.failed, nil, nil)
            return
        }
        roomContext.chatController.sendBroadcastTextMessage(message: content) { code, msg, _ in
            if code == 0 {
                NEKaraokeLog.successLog(kitTag, desc: "Successfully send text message.")
            } else {
                NEKaraokeLog.errorLog(kitTag, desc: "Failed to send text message. Code: \(code). Msg: \(msg ?? "")")
            }
            callback?(code, msg, nil)
        }
    }

接收文字消息的示例代码如下:

    /// 聊天室消息
    public func onReceiveChatroomMessages(messages: [NERoomChatMessage]) {
        for message in messages {
            switch message.messageType {
            case .text:
                if let msg = message as? NERoomChatTextMessage {
                    // 文本消息
                }
                break
            case .custom:
                if let msg = message as? NERoomChatCustomMessage {
                    // 自定义消息
                }
                break
            }
        }
    }
此文档是否对你有帮助?
有帮助
去反馈