本文为您介绍iOS端语聊房场景的API说明。
API概览
类/协议 | API | 说明 |
ARTCVoiceRoomEngine 语聊房引擎 | 初始化 | |
添加回调 | ||
移除回调 | ||
设置/获取RoomServiceInterface | ||
房间model | ||
是否房主 | ||
是否在语聊房里 | ||
进入语聊房 | ||
离开语聊房 | ||
解散语聊房(仅限主播) | ||
麦位model | ||
是否已上麦 | ||
直接上麦 | ||
下麦 | ||
申请上麦 | ||
打开/关闭一个自己的麦克风 | ||
切换自己的音频输出(麦克风或听筒) | ||
开关耳返 | ||
获取是否开启耳返 | ||
设置音频采集音量,默认50,可调节[0~100] | ||
获取音频采集音量,默认50,可调节[0~100] | ||
开始播放音效 | ||
停止播放音效 | ||
设置音效音量 | ||
开始播放背景音乐 | ||
停止播放背景音乐 | ||
设置播放背景音乐音量 | ||
获取背景音乐播放状态 | ||
设置变声类型 | ||
获取当前变声类型 | ||
发送弹幕 | ||
发送信令 | ||
发送弹幕 | ||
发送信令 | ||
ARTCVoiceRoomEngineDelegate 语聊房引擎回调 | 有人进入语聊房了 | |
有人离开语聊房了 | ||
自己被踢出语聊房了 | ||
语聊房解散了 | ||
房间内在线人数发生了变化 | ||
有人上麦 | ||
有人下麦 | ||
麦上用户语音流发生了变化(推流或停止推流) | ||
麦上用户麦克风打开/关闭 | ||
麦上用户是否正在说话中 | ||
网络出现了变化 | ||
自己背景音乐播放状态改变(开始/结束/失败) | ||
自己音效播放结束 | ||
自己收到了弹幕 | ||
发生了错误 |
ARTCVoiceRoomEngine详情
init
API含义:初始化
使用示例:
public init(_ roomInfo: ARTCVoiceRoomInfo)
参数详情:
参数 | 类型 | 含义 |
roomInfo | ARTCVoiceRoomInfo | 语聊房Model |
addObserver
API含义:添加房间事件回调
使用示例:
public func addObserver(delegate: ARTCVoiceRoomEngineDelegate)
参数详情:
参数 | 类型 | 含义 |
delegate | ARTCVoiceRoomEngineDelegate | 要添加的监听者 |
removeObserver
API含义:移除房间事件回调
使用示例:
public func removeObserver(delegate: ARTCVoiceRoomEngineDelegate)
参数详情:
参数 | 类型 | 含义 |
delegate | ARTCVoiceRoomEngineDelegate | 需要移除的监听者 |
roomService
API含义:设置/获取RoomServiceInterface
使用示例:
public var roomService: ARTCRoomServiceInterface? = nil
参数详情:
无
roomInfo
API含义:房间model
使用示例:
public let roomInfo: ARTCVoiceRoomInfo
参数详情:
无
isAnchor
API含义:是否房主
使用示例:
public var isAnchor: Bool
参数详情:
无
isJoinRoom
API含义:是否在语聊房里
使用示例:
public private(set) var isJoinRoom: Bool = false
参数详情:
无
joinRoom
API含义:进入语聊房
使用示例:
public func joinRoom(completed: ARTCRoomCompleted?)
参数详情:
参数 | 类型 | 含义 |
completed | ARTCRoomCompleted | 操作完成回调 |
leaveRoom
API含义:离开语聊房
使用示例:
public func leaveRoom(_ completed: (()->Void)? = nil)
参数详情:
参数 | 类型 | 含义 |
completed | ()->Void | 操作完成回调 |
dismissRoom
API含义:解散语聊房(仅限主播)
使用示例:
public func dismissRoom(completed: ARTCRoomCompleted?)
参数详情:
参数 | 类型 | 含义 |
completed | ARTCRoomCompleted | 操作完成回调 |
micSeatInfo
API含义:麦位model
使用示例:
public var micSeatInfo: AUIVoiceRoomMicSeatInfo?
参数详情:
无
isJoinMic
API含义:是否已上麦
使用示例:
public var isJoinMic: Bool
参数详情:
无
joinMic
API含义:直接上麦
使用示例:
public func joinMic(seatIndex: Int32, completed: ARTCRoomCompleted?)
参数详情:
参数 | 类型 | 含义 |
seatIndex | Int32 | 麦位 |
completed | ARTCRoomCompleted | 操作完成回调 |
leaveMic
API含义:下麦
使用示例:
public func leaveMic(completed: ARTCRoomCompleted?)
参数详情:
参数 | 类型 | 含义 |
completed | ARTCRoomCompleted | 操作完成回调 |
requestMic
API含义:申请上麦
使用示例:
public func requestMic(completed: ARTCRoomCompleted?)
参数详情:
参数 | 类型 | 含义 |
completed | ARTCRoomCompleted | 操作完成回调 |
switchMicrophone
API含义:打开/关闭一个自己的麦克风
使用示例:
public func switchMicrophone(off: Bool, completed: ARTCRoomCompleted? = nil)
参数详情:
参数 | 类型 | 含义 |
off | Bool | 是否关闭 |
completed | ARTCRoomCompleted | 操作完成回调 |
switchAudioOutput
API含义:切换自己的音频输出(麦克风或听筒)
使用示例:
public func switchAudioOutput(type: ARTCRoomAudioOutputType, completed: ARTCRoomCompleted? = nil)
参数详情:
参数 | 类型 | 含义 |
type | ARTCRoomAudioOutputType | 类型(麦克风 or 听筒) |
completed | ARTCRoomCompleted | 操作完成回调 |
switchEarBack
API含义:开关耳返
使用示例:
public func switchEarBack(on: Bool, completed: ARTCRoomCompleted? = nil)
参数详情:
参数 | 类型 | 含义 |
on | ARTCRoomAudioOutputType | 是否打开 |
completed | ARTCRoomCompleted | 操作完成回调 |
getIsEarBack
API含义:获取是否开启耳返
使用示例:
public func getIsEarBack() -> Bool
参数详情:
无
setRecordingVolume
API含义:设置音频采集音量,默认50,可调节[0~100]
使用示例:
public func setRecordingVolume(volume: Int32, completed: ARTCRoomCompleted? = nil)
参数详情:
参数 | 类型 | 含义 |
volume | Int32 | 音量,默认50,可调节[0~100] |
completed | ARTCRoomCompleted | 操作完成回调 |
getRecordingVolume
API含义:获取音频采集音量
使用示例:
public func getRecordingVolume() -> Int32
参数详情:
无
startPlayAudioEffect
API含义:开始播放音效
使用示例:
public func startPlayAudioEffect(effectId: Int32, localPath: String, volume: Int32, onlyLocalPlay: Bool, completed: ARTCRoomCompleted? = nil)
参数详情:
参数 | 类型 | 含义 |
effectId | Int32 | 音效Id |
localPath | String | 音效文件本地路径 |
volume | Int32 | 音量,默认50,可设置[0~100] |
onlyLocalPlay | Bool | 是否试听(不推流) |
completed | ARTCRoomCompleted | 操作完成回调 |
stopPlayAudioEffect
API含义:停止播放音效
使用示例:
public func stopPlayAudioEffect(effectId: Int32, completed: ARTCRoomCompleted? = nil)
参数详情:
参数 | 类型 | 含义 |
effectId | Int32 | 音效Id |
completed | ARTCRoomCompleted | 操作完成回调 |
setAudioEffectVolume
API含义:设置音效音量
使用示例:
public func setAudioEffectVolume(effectId: Int32, volume: Int32, completed: ARTCRoomCompleted? = nil)
参数详情:
参数 | 类型 | 含义 |
effectId | Int32 | 音效Id |
volume | Int32 | 音量,默认50,可设置[0~100] |
completed | ARTCRoomCompleted | 操作完成回调 |
startPlayBackgroundMusic
API含义:开始播放背景音乐
使用示例:
public func startPlayBackgroundMusic(musicId: Int32, localPath: String, volume: Int32, onlyLocalPlay: Bool, completed: ARTCRoomCompleted? = nil)
参数详情:
参数 | 类型 | 含义 |
musicId | Int32 | 音乐Id |
localPath | String | 音乐本地文件路径 |
volume | Int32 | 音量,默认50,可设置[0~100] |
onlyLocalPlay | Bool | 是否试听(不推流) |
completed | ARTCRoomCompleted | 操作完成回调 |
stopPlayBackgroundMusic
API含义:停止播放背景音乐
使用示例:
public func stopPlayBackgroundMusic(completed: ARTCRoomCompleted? = nil)
参数详情:
参数 | 类型 | 含义 |
completed | ARTCRoomCompleted | 操作完成回调 |
setBackgroundMusicVolume
API含义:设置播放背景音乐音量
使用示例:
public func setBackgroundMusicVolume(volume: Int32, completed: ARTCRoomCompleted? = nil)
参数详情:
参数 | 类型 | 含义 |
volume | Int32 | 音量,默认50,可设置[0~100] |
completed | ARTCRoomCompleted | 操作完成回调 |
bgMusicStatus
API含义:获取背景音
使用示例:
public lazy var bgMusicStatus: ARTCVoiceRoomAudioPlayingStatus
参数详情:
无
setVoiceChangerMode
API含义:设置变声类型
使用示例:
public func setVoiceChangerMode(mode: ARTCRoomVoiceChangerMode, completed: ARTCRoomCompleted? = nil)
参数详情:
参数 | 类型 | 含义 |
mode | ARTCRoomVoiceChangerMode | 变声类型 |
completed | ARTCRoomCompleted | 操作完成回调 |
getVoiceChangerMode
API含义:获取当前变声类型
使用示例:
public func getVoiceChangerMode() -> ARTCRoomVoiceChangerMode
参数详情:
无
setVoiceReverbMode
API含义:设置混响类型
使用示例:
public func setVoiceReverbMode(mode: ARTCRoomVoiceReverbMode, completed: ARTCRoomCompleted? = nil)
参数详情:
参数 | 类型 | 含义 |
mode | ARTCRoomVoiceReverbMode | 混响类型 |
completed | ARTCRoomCompleted | 操作完成回调 |
getVoiceChangerMode
API含义:获取混响类型
使用示例:
public func getVoiceReverbMode() -> ARTCRoomVoiceReverbMode
参数详情:
无
sendTextMessage
API含义:发送评论
使用示例:
public func sendTextMessage(text: String, completed: ARTCRoomCompleted? = nil)
参数详情:
参数 | 类型 | 含义 |
text | String | 评论内容 |
completed | ARTCRoomCompleted | 操作完成回调 |
sendCommand
API含义:发送信令,userId为空时,在房间内群发
使用示例:
public func sendCommand(type: ARTCRoomMessageType, data:[AnyHashable: Any]? = nil , userId: String? = nil, completed: ARTCRoomCompleted? = nil)
参数详情:
参数 | 类型 | 含义 |
type | ARTCRoomMessageType | 信令类型 |
data | [AnyHashable: Any] | 自定义内容 |
userId | String | 接收用户id,为空时,在房间内群发 |
completed | ARTCRoomCompleted | 操作完成回调 |
ARTCVoiceRoomEngineDelegate详情
onJoinedRoom
回调含义:有人进入语聊房了
使用示例:
@objc optional func onJoinedRoom(user: ARTCRoomUser)
参数详情:
参数 | 类型 | 含义 |
user | ARTCRoomUser | 操作的用户 |
onLeavedRoom
回调含义:有人离开语聊房了
使用示例:
@objc optional func onLeavedRoom(user: ARTCRoomUser)
参数详情:
参数 | 类型 | 含义 |
user | ARTCRoomUser | 操作的用户 |
onKickoutRoom
回调含义:自己被踢出语聊房了
使用示例:
@objc optional func onKickoutRoom()
参数详情:
无
onDismissedRoom
回调含义:语聊房解散了
使用示例:
@objc optional func onDismissedRoom()
参数详情:
无
onOnlineCountChanged
回调含义:房间内在线人数发生了变化
使用示例:
@objc optional func onOnlineCountChanged(count: Int)
参数详情:
参数 | 类型 | 含义 |
count | Int | 人数 |
onJoinedMic
回调含义:有人上麦
使用示例:
@objc optional func onJoinedMic(seatIndex: Int32, user: ARTCRoomUser)
参数详情:
参数 | 类型 | 含义 |
seatIndex | Int32 | 麦位 |
user | ARTCRoomUser | 操作的用户 |
onLeavedMic
回调含义:有人下麦
使用示例:
@objc optional func onLeavedMic(seatIndex: Int32, user: ARTCRoomUser)
参数详情:
参数 | 类型 | 含义 |
seatIndex | Int32 | 麦位 |
user | ARTCRoomUser | 操作的用户 |
onMicUserStreamChanged
回调含义:麦上用户语音流发生了变化(推流或停止推流)
使用示例:
@objc optional func onMicUserStreamChanged(seatIndex: Int32, user: ARTCRoomUser, publishing: Bool)
参数详情:
参数 | 类型 | 含义 |
seatIndex | Int32 | 麦位 |
user | ARTCRoomUser | 操作的用户 |
publishing | Bool | 是否推流中 |
onMicUserMicrophoneChanged
回调含义:麦上用户麦克风打开/关闭
使用示例:
@objc optional func onMicUserMicrophoneChanged(seatIndex: Int32, user: ARTCRoomUser, off: Bool)
参数详情:
参数 | 类型 | 含义 |
seatIndex | Int32 | 麦位 |
user | ARTCRoomUser | 操作的用户 |
off | Bool | 是否关闭 |
onMicUserSpeakStateChanged
回调含义:麦上用户是否正在说话中
使用示例:
@objc optional func onMicUserSpeakStateChanged(seatIndex: Int32, isSpeaking: Bool)
参数详情:
参数 | 类型 | 含义 |
seatIndex | Int32 | 麦位 |
isSpeaking | Bool | 是否讲话中 |
onNetworkStateChanged
回调含义:网络出现了变化
使用示例:
@objc optional func onNetworkStateChanged(user: ARTCRoomUser, state: String)
参数详情:
参数 | 类型 | 含义 |
user | ARTCRoomUser | 操作的用户 |
state | String | 网络状态 |
onBackgroundMusicStatusChanged
回调含义:自己背景音乐播放状态改变(开始/结束/失败)
使用示例:
@objc optional func onBackgroundMusicStatusChanged(status: ARTCVoiceRoomAudioPlayingStatus)
参数详情:
参数 | 类型 | 含义 |
status | ARTCVoiceRoomAudioPlayingStatus | 播放状态 |
onAudioEffectPlayCompleted
回调含义:自己音效播放结束
使用示例:
@objc optional func onAudioEffectPlayCompleted(effectId: Int32)
参数详情:
参数 | 类型 | 含义 |
effectId | Int32 | 音效id |
onReceivedTextMessage
回调含义:自己收到了弹幕
使用示例:
@objc optional func onReceivedTextMessage(user: ARTCRoomUser, text: String)
参数详情:
参数 | 类型 | 含义 |
user | ARTCRoomUser | 操作的用户 |
text | String | 弹幕信息 |
onError
回调含义:发生了错误
使用示例:
@objc optional func onError(_ error: NSError)
参数详情:
参数 | 类型 | 含义 |
error | NSError | 错误信息 |