实现聊天消息
更新时间: 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
}
}
}
此文档是否对你有帮助?