本文为您介绍iOS端K歌房场景的API说明。
API概览
分类 | API | 说明 |
ARTCKaraokeRoomController | 增加ARTCKaraokeRoomController的回调监听。 | |
取消ARTCKaraokeRoomController的回调监听。 | ||
取远端播放列表(当前播放中+未播放)。 | ||
能否点歌。 | ||
能否删歌。 | ||
点歌。 | ||
删除已点歌曲。 | ||
批量删除已点歌曲。 | ||
能否置顶已点歌曲。 | ||
置顶已点歌曲。 | ||
获取当前播放歌曲。 | ||
获取当前的播放列表(当前播放中+未播放)。 | ||
自己是否是主唱。 | ||
能否切歌/播放下一首。 | ||
切歌/播放下一首。 | ||
开始播放。 | ||
获取音乐资源的加载状态。 | ||
能否暂停/继续播放。 | ||
暂停播放。 | ||
继续播放。 | ||
停止播放。 | ||
查询歌曲是否可以伴奏。 | ||
能否切换播放模式。 | ||
切换当前的播放模式。 | ||
能否加入合唱。 | ||
自己是否是合唱者。 | ||
加入合唱。 | ||
退出合唱。 | ||
转换演唱角色,以管理相应角色的推拉流逻辑。调用时机:开始演唱前,或者结束演唱后。 | ||
跳到某个位置。 | ||
获取音乐总时长。 | ||
获取当前播放进度。 | ||
设置伴奏(音乐播放)音量。 | ||
新用户进入房间可以要求同步当前的房间状态、演唱状态。 | ||
更新房间状态。 | ||
ARTCKaraokeRoomControllerDelegate | 播放列表(当前播放中+未播放)更新回调。 | |
当前歌曲结束播放回调。 | ||
即将播放下一首歌曲回调。 | ||
音乐资源准备状态回调。 | ||
播放进度更新。 | ||
播放状态更新。 | ||
角色变化回调。 | ||
房间状态变化回调。 | ||
音量变化回调。 | ||
有人即将离开房间的回调。 | ||
CKaraokeRoomMusicLibrary | 获取曲库单例。 | |
获取榜单列表。 | ||
获取榜单歌曲列表。 | ||
获取歌曲信息。 | ||
获取歌词。 | ||
获取歌曲标准音高。 | ||
搜索歌曲。 | ||
下载歌曲。 | ||
获取歌曲的所有资源,包括歌词、音高、歌曲文件等。 | ||
歌曲是否已经下载完成。 | ||
歌曲是否下载中。 | ||
ARTCKaraokeRoomEngine | 转换演唱角色,以管理相应角色的推拉流逻辑。 | |
加载音乐资源。 | ||
加载音乐资源。 | ||
播放音乐。 | ||
停止播放音乐。 | ||
继续播放音乐。 | ||
暂停播放音乐。 | ||
跳到某个位置。 | ||
获取音乐总时长。 | ||
获取当前播放进度。 | ||
切换伴奏/原唱模式。 | ||
设置伴奏(音乐播放)音量。 | ||
设置rtc引擎。 | ||
释放rtc引擎。 | ||
处理在线K歌房场景下需要处理的消息。 | ||
ARTCKaraokeRoomEngineDelegate | 音乐资源准备状态回调。 | |
音乐播放状态回调。 | ||
音乐播放进度回调。 | ||
演唱角色变化回调。 | ||
获取当前主唱的uid。 |
接口详情
ARTCKaraokeRoomController
addObserver
API含义:增加ARTCKaraokeRoomController的回调监听。
使用示例:
public func addObserver(karaokeDelegate: ARTCKaraokeRoomControllerDelegate)
参数详情:
参数 | 类型 | 含义 |
karaokeDelegate | ARTCKaraokeRoomControllerDelegate | 需要监听ARTCKaraokeRoomController回调事件的代理。 |
removeObserver
API含义:取消 ARTCKaraokeRoomController
的回调监听。
使用示例:
public func removeObserver(karaokeDelegate: ARTCKaraokeRoomControllerDelegate)
参数说明:
名称 | 类型 | 描述 |
karaokeDelegate | ARTCKaraokeRoomControllerDelegate | 需要取消监听的代理。 |
fetchMusicPlayingList
API含义:取远端播放列表(当前播放中+未播放)。
使用示例:
public func fetchMusicPlayingList(reason: ARTCKaraokeRoomUpdatePlayingMusicListReason, userID: String?, songID: String?)
参数说明:
名称 | 类型 | 描述 |
reason | ARTCKaraokeRoomUpdatePlayingMusicListReason | 触发获取播放列表的原因。 |
userID | String? | 触发获取播放列表的用户id。 |
songID | String? | 触发获取播放列表的歌曲id。 |
checkCanAddMusic
API含义:能否点歌。
权限:麦上成员可以点歌。
返回说明:
能否点歌。
使用示例:
public var checkCanAddMusic: Bool
checkCanRemoveMusic
API含义:能否删歌。
权限:房主、点歌成员可以删歌。
使用示例:
public func checkCanRemoveMusic(songID: String) -> Bool
参数说明:
名称 | 类型 | 描述 |
songID | String | 歌曲Id。 |
返回说明:
能否删歌。
addMusic
API含义:点歌。
使用示例:
public func addMusic(musicInfo: ARTCKaraokeRoomMusicInfo, completed: ARTCRoomCompleted?)
参数说明:
名称 | 类型 | 描述 |
musicInfo | ARTCKaraokeRoomMusicInfo | 歌曲对象。 |
completed | ARTCRoomCompleted? | 完成后的回调block。 |
说明:
歌曲下载完成后才能加入到播放列表。
removeMusic[1/2]
API含义:删除已点歌曲。
使用示例:
public func removeMusic(musicInfo: ARTCKaraokeRoomMusicInfo, completed: ARTCRoomCompleted?)
参数说明:
名称 | 类型 | 描述 |
musicInfo | ARTCKaraokeRoomMusicInfo | 歌曲对象。 |
completed | ARTCRoomCompleted? | 完成后的回调block。 |
removeMusic[2/2]
API含义:批量删除已点歌曲。
使用示例:
public func removeMusic(who: String, completed: ARTCRoomCompleted?)
参数说明:
名称 | 类型 | 描述 |
who | String | 需要批量删除哪个用户已点歌曲的用户id。 |
completed | ARTCRoomCompleted? | 完成后的回调block。 |
checkCanPinMusic
API含义:能否置顶已点歌曲。
权限:房主、点歌成员可以置顶。
使用示例:
public func checkCanPinMusic(songID: String) -> Bool
参数说明:
名称 | 类型 | 描述 |
songID | String | 歌曲Id。 |
返回说明:
能否置顶已点歌曲。
pinMusic
API含义:置顶已点歌曲。
使用示例:
public func pinMusic(musicInfo: ARTCKaraokeRoomMusicInfo, completed: ARTCRoomCompleted?)
参数说明:
名称 | 类型 | 描述 |
musicInfo | ARTCKaraokeRoomMusicInfo | 歌曲对象。 |
completed | ARTCRoomCompleted? | 完成后的回调block。 |
curMusicPlaying
API含义:获取当前播放歌曲。
返回说明:
当前播放的歌曲对象。
使用示例:
public private(set) var curMusicPlaying: ARTCKaraokeRoomMusicInfo?
musicPlayingList
API含义:获取当前的播放列表(当前播放中+未播放)。
返回说明:
当前的播放列表。
使用示例:
public private(set) var musicPlayingList: [ARTCKaraokeRoomMusicInfo]
isLeadSinger
API含义:自己是否是主唱。
返回说明:
自己是否是主唱。
使用示例:
public var isLeadSinger: Bool
checkCanSkipMusic
API含义:能否切歌/播放下一首。
权限:房主+主唱。
返回说明:
自己是否是主唱。
使用示例:
public var checkCanSkipMusic: Bool
skipMusic
API含义:切歌/播放下一首。
使用示例:
public func skipMusic(completed: ARTCRoomCompleted?)
参数说明:
名称 | 类型 | 描述 |
completed | ARTCRoomCompleted? | 完成后的回调block。 |
playMusic
API含义:开始播放。
使用示例:
public func playMusic(_ autoPlay: Bool = true)
参数说明:
名称 | 类型 | 描述 |
autoPlay | Bool | 加载完音乐资源文件后是否自动播放。 |
mediaPrepareState
API含义:获取音乐资源的加载状态。
返回说明:
本地播放器正在播放的音乐资源的加载状态。
使用示例:
public func mediaPrepareState() -> ARTCKaraokeRoomMusicPrepareState
canPauseMusic
API含义:能否暂停/继续播放。
权限:主唱。
返回说明:
能否暂停/继续播放。
使用示例:
public var canPauseMusic: Bool
pauseMusic
API含义:暂停播放。
使用示例:
public func pauseMusic(completed: ARTCRoomCompleted?)
参数说明:
名称 | 类型 | 描述 |
completed | ARTCRoomCompleted? | 完成后的回调block。 |
resumeMusic
API含义:继续播放。
使用示例:
public func resumeMusic(completed: ARTCRoomCompleted?)
参数说明:
名称 | 类型 | 描述 |
completed | ARTCRoomCompleted? | 完成后的回调block。 |
stopPlayMusic
API含义:停止播放。
使用示例:
public func stopPlayMusic()
checkMusicCanAccompany
API含义:查询歌曲是否可以伴奏。
使用示例:
public func checkMusicCanAccompany(songID: String) -> Bool
参数说明:
名称 | 类型 | 描述 |
songID | String | 歌曲Id。 |
返回说明:
歌曲是否可以伴奏。
canChangeMusicAccompanimentMode
API含义:能否切换播放模式。
权限:主唱+伴唱。
返回说明:
能否切换播放模式。
使用示例:
public var canChangeMusicAccompanimentMode: Bool
setMusicAccompanimentMode
API含义:切换当前的播放模式。
使用示例:
public func setMusicAccompanimentMode(isAccompany: Bool, completed: ARTCRoomCompleted?)
参数说明:
名称 | 类型 | 描述 |
isAccompany | Bool | 是否伴奏模式。 |
completed | ARTCRoomCompleted? | 完成后的回调block。 |
canJoinSinging
API含义:能否加入合唱。
权限:麦上且不是主唱。
返回说明:
能否加入合唱。
使用示例:
public var canJoinSinging: Bool
isJoinSinger
API含义:自己是否是合唱者。
返回说明:
自己是否是合唱者。
使用示例:
public var isJoinSinger: Bool
joinSinging
API含义:加入合唱。
使用示例:
public func joinSinging(completed: ARTCRoomCompleted?)
参数说明:
名称 | 类型 | 描述 |
completed | ARTCRoomCompleted? | 完成后的回调block。 |
leaveSinging
API含义:退出合唱。
使用示例:
public func leaveSinging(completed: ARTCRoomCompleted?)
参数说明:
名称 | 类型 | 描述 |
completed | ARTCRoomCompleted? | 完成后的回调block。 |
setSingerRole
API含义:转换演唱角色,以管理相应角色的推拉流逻辑。调用时机:开始演唱前,或者结束演唱后。
使用示例:
public func setSingerRole(newRole: ARTCKaraokeRoomSingerRole)
参数说明:
名称 | 类型 | 描述 |
newRole | ARTCKaraokeRoomSingerRole | 目标转换角色。 |
seekMusicTo
API含义:跳到某个位置。
使用示例:
public func seekMusicTo(millisecond: Int64)
参数说明:
名称 | 类型 | 描述 |
millisecond | Int64 | 音乐播放进度,单位:毫秒。 |
getMusicTotalDuration
API含义:获取音乐总时长。
使用示例:
public func getMusicTotalDuration() -> Int64
说明:
必须在加载音乐资源成功后调用才有效,否则返回 0。
返回说明:
音乐总时长。
getMusicCurrentProgress
API含义:获取当前播放进度。
使用示例:
public func getMusicCurrentProgress() -> Int64
说明:
必须在加载音乐资源成功后调用才有效,否则返回 0。
返回说明:
当前播放进度。
setMusicVolume
API含义:设置伴奏(音乐播放)音量。
使用示例:
public func setMusicVolume(volume: Int32)
参数说明:
名称 | 类型 | 描述 |
volume | Int32 | 目标音量。 |
requestRemoteKtvState
API含义:新用户进入房间可以要求同步当前的房间状态、演唱状态。
使用示例:
public func requestRemoteKtvState()
updateRoomStateCommand
API含义:更新房间状态。
使用示例:
public func updateRoomStateCommand(newRoomState: ARTCKaraokeRoomState, songID: String?)
参数说明:
名称 | 类型 | 描述 |
newRoomState | ARTCKaraokeRoomState | 目标房间状态。 |
songID | String? | 歌曲Id。 |
ARTCKaraokeRoomControllerDelegate
onMusicPlayingListUpdated
API含义:播放列表(当前播放中+未播放)更新回调。
使用示例:
@objc optional func onMusicPlayingListUpdated(reason: ARTCKaraokeRoomUpdatePlayingMusicListReason, userID: String?, songID: String?)
参数说明:
名称 | 类型 | 描述 |
reason | ARTCKaraokeRoomUpdatePlayingMusicListReason | 触发更新的原因。 |
userID | String? | 触发更新的用户id。 |
songID | String? | 触发更新的歌曲id。 |
onMusicPlayCompleted
API含义:当前歌曲结束播放回调。
使用示例:
@objc optional func onMusicPlayCompleted(musicInfo: ARTCKaraokeRoomMusicInfo, reason: ARTCKaraokeRoomMusicPlayCompletedReason)
参数说明:
名称 | 类型 | 描述 |
musicInfo | ARTCKaraokeRoomMusicInfo | 歌曲对象。 |
reason | ARTCKaraokeRoomMusicPlayCompletedReason | 播放结束的原因。 |
onMusicWillPlayNext
API含义:即将播放下一首歌曲回调。
使用示例:
@objc optional func onMusicWillPlayNext(musicInfo: ARTCKaraokeRoomMusicInfo)
参数说明:
名称 | 类型 | 描述 |
musicInfo | ARTCKaraokeRoomMusicInfo | 即将播放的歌曲对象。 |
onMusicPrepareStateUpdate
API含义:音乐资源准备状态回调。
使用示例:
@objc optional func onMusicPrepareStateUpdate(state: ARTCKaraokeRoomMusicPrepareState)
参数说明:
名称 | 类型 | 描述 |
state | ARTCKaraokeRoomMusicPrepareState | 音乐资源的准备状态。 |
onMusicPlayProgressChanged
API含义:播放进度更新。
使用示例:
@objc optional func onMusicPlayProgressChanged(musicInfo: ARTCKaraokeRoomMusicInfo, millisecond: Int64)
参数说明:
名称 | 类型 | 描述 |
musicInfo | ARTCKaraokeRoomMusicInfo | 歌曲对象。 |
millisecond | Int64 | 当前播放进度,单位毫秒。 |
onMusicPlayStateChanged
API含义:播放状态更新。
使用示例:
@objc optional func onMusicPlayStateChanged(state: ARTCKaraokeRoomMusicPlayState, singScore: Int)
参数说明:
名称 | 类型 | 描述 |
state | ARTCKaraokeRoomMusicPlayState | 播放状态。 |
singScore | Int | 演唱分数。 |
onMusicSingerRoleChanged
API含义:角色变化回调。
使用示例:
@objc optional func onMusicSingerRoleChanged(newRole: ARTCKaraokeRoomSingerRole, oldRole: ARTCKaraokeRoomSingerRole, userID: String)
参数说明:
名称 | 类型 | 描述 |
newRole | ARTCKaraokeRoomSingerRole | 目标转换角色。 |
oldRole | ARTCKaraokeRoomSingerRole | 变更前角色。 |
userID | String | 用户Id。 |
onRoomStateChanged
API含义:房间状态变化回调。
使用示例:
@objc optional func onRoomStateChanged(oldRoomState: ARTCKaraokeRoomState, newRoomState: ARTCKaraokeRoomState, songID: String?)
参数说明:
名称 | 类型 | 描述 |
oldRoomState | ARTCKaraokeRoomState | 变更后的房间状态。 |
newRoomState | ARTCKaraokeRoomState | 变更前的房间状态。 |
songID | String? | 相关的歌曲Id。 |
onAudioVolumeChanged
API含义:音量变化回调。
使用示例:
@objc optional func onAudioVolumeChanged(data: [String: Any])
参数说明:
名称 | 类型 | 描述 |
data | [String: Any] | 音量变化信息字典。 |
onWillLeaveRoom
API含义:有人即将离开房间的回调。
使用示例:
@objc optional func onWillLeaveRoom(user: ARTCRoomUser)
参数说明:
名称 | 类型 | 描述 |
user | ARTCRoomUser | 即将离开的用户信息。 |
ARTCKaraokeRoomMusicLibrary
shared
API含义:获取曲库单例。
返回说明:
曲库单例。
使用示例:
public static let shared: ARTCKaraokeRoomMusicLibrary
fetchMusicChartList
API含义:获取榜单列表。
使用示例:
public func fetchMusicChartList(completed: @escaping ARTCKaraokeRoomFetchMusicChartListCompleted)
参数说明:
名称 | 类型 | 描述 |
completed | ARTCKaraokeRoomFetchMusicChartListCompleted | 完成后的回调block。 |
fetchMusicList
API含义:获取榜单歌曲列表。
使用示例:
public func fetchMusicList(chartId: String, page: Int, pageSize: Int, completed: @escaping ARTCKaraokeRoomFetchMusicListCompleted)
参数说明:
名称 | 类型 | 描述 |
chartId | String | 榜单Id。 |
page | Int | 请求的第几页。 |
pageSize | Int | 请求每页的歌曲条数。 |
completed | ARTCKaraokeRoomFetchMusicListCompleted | 完成后的回调block。 |
fetchMusicInfo
API含义:获取歌曲信息。
使用示例:
public func fetchMusicInfo(songID: String, completed: @escaping ARTCKaraokeRoomFetchMusicInfoCompleted)
参数说明:
名称 | 类型 | 描述 |
songID | String | 歌曲Id。 |
completed | ARTCKaraokeRoomFetchMusicInfoCompleted | 完成后的回调block。 |
fetchMusicLyric
API含义:获取歌词。
使用示例:
public func fetchMusicLyric(songID: String, completed: @escaping ARTCKaraokeRoomFetchMusicLyricCompleted)
参数说明:
名称 | 类型 | 描述 |
songID | String | 歌曲Id。 |
completed | ARTCKaraokeRoomFetchMusicLyricCompleted | 完成后的回调block。 |
fetchMusicPitch
API含义:获取歌曲标准音高。
使用示例:
public func fetchMusicPitch(songID: String, completed: @escaping ARTCKaraokeRoomFetchMusicPitchCompleted)
参数说明:
名称 | 类型 | 描述 |
songID | String | 歌曲Id。 |
completed | ARTCKaraokeRoomFetchMusicPitchCompleted | 完成后的回调block。 |
searchMusic
API含义:搜索歌曲。
使用示例:
public func searchMusic(keyword: String, page: Int, pageSize: Int, completed: @escaping ARTCKaraokeRoomSearchMusicCompleted)
参数说明:
名称 | 类型 | 描述 |
keyword | String | 搜索关键字。 |
page | Int | 请求的第几页。 |
pageSize | Int | 请求每页的歌曲条数。 |
completed | ARTCKaraokeRoomSearchMusicCompleted | 完成后的回调block。 |
downloadMusic
API含义:下载歌曲。
使用示例:
public func downloadMusic(songID: String, completed: @escaping ARTCKaraokeRoomDownloadMusicCompleted)
参数说明:
名称 | 类型 | 描述 |
songID | String | 歌曲Id。 |
completed | ARTCKaraokeRoomDownloadMusicCompleted | 完成后的回调block。 |
fetchMusicAllResource
API含义:获取歌曲的所有资源,包括歌词、音高、歌曲文件等。
使用示例:
public func fetchMusicAllResource(musicInfo: ARTCKaraokeRoomMusicInfo, completed: @escaping ARTCKaraokeRoomDownloadMusicCompleted)
参数说明:
名称 | 类型 | 描述 |
musicInfo | ARTCKaraokeRoomMusicInfo | 歌曲对象。 |
completed | ARTCKaraokeRoomDownloadMusicCompleted | 完成后的回调block。 |
isMusicDownloaded
API含义:歌曲是否已经下载完成。
返回说明:
歌曲是否完成下载。
使用示例:
public func isMusicDownloaded(songID: String) -> Bool
参数说明:
名称 | 类型 | 描述 |
songID | String | 歌曲Id。 |
isMusicDownloading
API含义:歌曲是否下载中。
返回说明:
歌曲是否下载中。
使用示例:
public func isMusicDownloading(songID: String) -> Bool
参数说明:
名称 | 类型 | 描述 |
songID | String | 歌曲Id。 |
ARTCKaraokeRoomEngine
switchSingerRole
API含义:转换演唱角色,以管理相应角色的推拉流逻辑。
使用示例:
public func switchSingerRole(newRole: ARTCKaraokeRoomSingerRole) -> Bool
参数说明:
名称 | 类型 | 描述 |
newRole | ARTCKaraokeRoomSingerRole | 目标转换角色。 |
返回说明:
是否支持转换到目标角色。
loadMusicWithUri
API含义:加载音乐资源。
使用示例:
public func loadMusicWithUri(uri: String)
参数说明:
名称 | 类型 | 描述 |
uri | String | 本地或在线音乐地址。 |
说明:
当收到加载成功回调后即可调用
playMusic()
播放音乐。
loadMusicWithConfig
API含义:加载音乐资源。
使用示例:
public func loadMusicWithConfig(config: ARTCKaraokeRoomMusicConfig)
参数说明:
名称 | 类型 | 描述 |
config | ARTCKaraokeRoomMusicConfig | 音乐资源加载配置。 |
说明:
当收到加载成功回调后即可调用
playMusic()
播放音乐,如果设置了autoPlay
为 true 则内部会自动调用playMusic()
。
playMusic
API含义:播放音乐。
使用示例:
public func playMusic()
说明:
需要先调用
loadMusic
并收到加载成功回调,才能调用此方法开始播放。如果设置了
ARTCKaraokeRoomMusicConfig#autoPlay
为 true 则可以不调用此方法。合唱者也可以不调用此方法,内部会自动同步主唱者播放状态。
stopMusic
API含义:停止播放音乐。
使用示例:
public func stopMusic()
resumeMusic
API含义:继续播放音乐。
使用示例:
public func resumeMusic()
pauseMusic
API含义:暂停播放音乐。
使用示例:
public func pauseMusic()
seekMusicTo
API含义:跳到某个位置。
使用示例:
public func seekMusicTo(millisecond: Int64)
参数说明:
名称 | 类型 | 描述 |
millisecond | Int64 | 音乐播放进度,单位:毫秒。 |
getMusicTotalDuration
API含义:获取音乐总时长。
使用示例:
public func getMusicTotalDuration() -> Int64
说明:
必须在加载音乐资源成功后调用才有效,否则返回 0。
返回说明:
音乐总时长。
getMusicCurrentProgress
API含义:获取当前播放进度。
使用示例:
public func getMusicCurrentProgress() -> Int64
说明:
必须在加载音乐资源成功后调用才有效,否则返回 0。
返回说明:
当前播放进度。
setMusicAccompanimentMode
API含义:切换伴奏/原唱模式。
使用示例:
public func setMusicAccompanimentMode(original: Bool)
参数说明:
名称 | 类型 | 描述 |
original | Bool | 是否原唱。 |
setMusicVolume
API含义:设置伴奏(音乐播放)音量。
使用示例:
public func setMusicVolume(volume: Int32)
参数说明:
名称 | 类型 | 描述 |
volume | Int32 | 目标音量。 |
setupRtcEngine
API含义:设置rtc引擎。
使用示例:
public func setupRtcEngine(rtcEngine: AnyObject?)
参数说明:
名称 | 类型 | 描述 |
rtcEngine | AnyObject? | 阿里rtc引擎,这里需要传入AliRtcEngine类型的实例。 |
releaseRtcEngine
API含义:释放rtc引擎。
使用示例:
public func releaseRtcEngine()
onDataChannelMessage
API含义:处理在线K歌房场景下需要处理的消息。
使用示例:
public func onDataChannelMessage(uid: String, controlMsg: AnyObject)
参数说明:
名称 | 类型 | 描述 |
uid | String | 发消息的用户id。 |
controlMsg | AnyObject | 发消息的内容。 |
ARTCKaraokeRoomEngineDelegate
onMusicPrepareStateUpdate
API含义:音乐资源准备状态回调。听众角色不会收到这个回调。
使用示例:
@objc optional func onMusicPrepareStateUpdate(state: ARTCKaraokeRoomMusicPrepareState)
参数说明:
名称 | 类型 | 描述 |
state | ARTCKaraokeRoomMusicPrepareState | 音乐资源准备状态。 |
onMusicPlayStateUpdate
API含义:音乐播放状态回调。听众角色不会收到这个回调。
使用示例:
@objc optional func onMusicPlayStateUpdate(state: ARTCKaraokeRoomMusicPlayState)
参数说明:
名称 | 类型 | 描述 |
state | ARTCKaraokeRoomMusicPlayState | 音乐播放状态。 |
onMusicPlayProgressUpdate
API含义:音乐播放进度回调。
使用示例:
@objc optional func onMusicPlayProgressUpdate(millisecond: Int64, uid: String, isLocalProgress: Bool)
参数说明:
名称 | 类型 | 描述 |
millisecond | Int64 | 音乐当前播放的位置。 |
uid | String | 播放音乐的用户id。 |
isLocalProgress | Bool | 是否是本地播放器的进度。 |
onSingerRoleUpdate
API含义:演唱角色变化回调。
使用示例:
@objc optional func onSingerRoleUpdate(newRole: ARTCKaraokeRoomSingerRole, oldRole: ARTCKaraokeRoomSingerRole)
参数说明:
名称 | 类型 | 描述 |
newRole | ARTCKaraokeRoomSingerRole | 变更后的角色。 |
oldRole | ARTCKaraokeRoomSingerRole | 变更前的角色。 |
anchorUidForKaraokeRoomEngine
API含义:获取当前主唱的uid。
使用示例:
@objc optional func anchorUidForKaraokeRoomEngine() -> String
返回说明:
当前主唱的uid。
说明:
代理需要告诉engine当前的主唱uid,以便engine内部在操作合唱者同步当前音乐播放进度时,能同步主唱的播放进度,而不是其他合唱者的播放进度。