iOS端API参考

本文为您介绍iOS端语聊房场景的API说明。

API概览

类/协议

API

说明

ARTCVoiceRoomEngine

语聊房引擎

init

初始化

addObserver

添加回调

removeObserver

移除回调

roomService

设置/获取RoomServiceInterface

roomInfo

房间model

isAnchor

是否房主

isJoinRoom

是否在语聊房里

joinRoom

进入语聊房

leaveRoom

离开语聊房

dismissRoom

解散语聊房(仅限主播)

micSeatInfo

麦位model

isJoinMic

是否已上麦

joinMic

直接上麦

leaveMic

下麦

requestMic

申请上麦

switchMicrophone

打开/关闭一个自己的麦克风

switchAudioOutput

切换自己的音频输出(麦克风或听筒)

switchEarBack

开关耳返

getIsEarBack

获取是否开启耳返

setRecordingVolume

设置音频采集音量,默认50,可调节[0~100]

getRecordingVolume

获取音频采集音量,默认50,可调节[0~100]

startPlayAudioEffect

开始播放音效

stopPlayAudioEffect

停止播放音效

setAudioEffectVolume

设置音效音量

startPlayBackgroundMusic

开始播放背景音乐

stopPlayBackgroundMusic

停止播放背景音乐

setBackgroundMusicVolume

设置播放背景音乐音量

bgMusicStatus

获取背景音乐播放状态

setVoiceChangerMode

设置变声类型

getVoiceChangerMode

获取当前变声类型

sendTextMessage

发送弹幕

sendCommand

发送信令

sendTextMessage

发送弹幕

sendCommand

发送信令

ARTCVoiceRoomEngineDelegate

语聊房引擎回调

onJoinedRoom

有人进入语聊房了

onLeavedRoom

有人离开语聊房了

onKickoutRoom

自己被踢出语聊房了

onDismissedRoom

语聊房解散了

onOnlineCountChanged

房间内在线人数发生了变化

onJoinedMic

有人上麦

onLeavedMic

有人下麦

onMicUserStreamChanged

麦上用户语音流发生了变化(推流或停止推流)

onMicUserMicrophoneChanged

麦上用户麦克风打开/关闭

onMicUserSpeakStateChanged

麦上用户是否正在说话中

onNetworkStateChanged

网络出现了变化

onBackgroundMusicStatusChanged

自己背景音乐播放状态改变(开始/结束/失败)

onAudioEffectPlayCompleted

自己音效播放结束

onReceivedTextMessage

自己收到了弹幕

onError

发生了错误

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

错误信息