-
Notifications
You must be signed in to change notification settings - Fork 13
接口文档
dreambko edited this page Dec 13, 2022
·
1 revision
SonaRoom具有创建房间、关闭房间、进入房间、离开房间、修改房间密码,以及管理Plugin的功能。
/**
* 创建房间
*
* @param roomTitle 房间名称
* @param productCode 产品名称
* @param password 房间密码
* @param ext 其他参数,业务根据需要传入
* @param sonaRoomCallback 回调
*/
void createRoom(String roomTitle, SonaRoomProduct productCode, String password, Map ext, SonaRoomCallback sonaRoomCallback);
/**
* 打开房间
*
* @param roomId 房间id
* @param sonaRoomCallback 回调
*/
void openRoom(String roomId, SonaRoomCallback sonaRoomCallback);
/**
* 关闭房间
*
* @param roomId 房间id
* @param sonaRoomCallback 回调
*/
void closeRoom(String roomId, SonaRoomCallback sonaRoomCallback);
/**
* 进入房间
*
* @param roomId 房间id
* @param productCode 产品名称
* @param password 房间密码
* @param ext 其他参数,业务根据需要传入
* @param sonaRoomCallback 回调
*/
void enterRoom(String roomId, SonaRoomProduct productCode, String password, Map ext, SonaRoomCallback sonaRoomCallback);
/**
* 进入房间
*
* @param roomId 房间id
* @param productCode 产品名称
* @param password 房间密码
* @param ext 其他参数,业务根据需要传入
* @param sonaRoomCallback 回调
*/
void enterRoom(String roomId, String productCode, String password, Map ext, SonaRoomCallback sonaRoomCallback);
/**
* 更改房间密码
*
* @param roomId 房间id
* @param oldPassword 老密码
* @param newPassword 新密码
* @param sonaRoomCallback 回调
*/
void updateRoomPassword(String roomId, String oldPassword, String newPassword, SonaRoomCallback sonaRoomCallback);
/**
* 离开房间
*
* @param sonaRoomCallback 回调
*/
void leaveRoom(SonaRoomCallback sonaRoomCallback);
提供房间管理相关能力
/**
* 设置管理员
*
* @param uid 用户uid
* @param pluginCallback 回调
*/
void setAdmin(String uid, PluginCallback pluginCallback);
/**
* 取消管理员
*
* @param uid 用户uid
* @param pluginCallback 回调
*/
void cancelAdmin(String uid, PluginCallback pluginCallback);
/**
* 拉黑
*
* @param uid 用户uid
* @param reason 原因
* @param pluginCallback 回调
*/
void black(String uid, String reason, PluginCallback pluginCallback);
/**
* 取消拉黑
*
* @param uid 用户uid
* @param reason 原因
* @param pluginCallback 回调
*/
void cancelBlack(String uid, String reason, PluginCallback pluginCallback);
/**
* 禁言
*
* @param uid 用户uid
* @param minute 禁言时长(分钟)
* @param pluginCallback 回调
*/
void mute(String uid, int minute, PluginCallback pluginCallback);
/**
* 取消禁言
*
* @param uid 用户uid
* @param pluginCallback 回调
*/
void cancelMute(String uid, PluginCallback pluginCallback);
/**
* 批量静音
*
* @param uids 多个用户uid
* @param pluginCallback 回调
*/
void silent(List<String> uids, PluginCallback pluginCallback);
/**
* 取消批量静音
*
* @param uids 多个用户uid
* @param pluginCallback 回调
*/
void cancelSilent(List<String> uids, PluginCallback pluginCallback);
/**
* 获取在线人员列表
*
* @param anchor 锚点
* @param limit 每页数量
* @param onlineUserCallback 查询回调
*/
void queryOnlineUsers(String anchor, int limit, OnlineUserCallback onlineUserCallback);
/**
* 获取在线人员数量
*
* @param onlineUserNumberCallback 查询回调
*/
void queryOnlineUserNumber(OnlineUserNumberCallback onlineUserNumberCallback);
/**
* 踢人
*
* @param uid 用户uid
* @param pluginCallback 回调
*/
void kick(String uid, PluginCallback pluginCallback);
提供操作房间音频相关能力
/**
* 开始说话
*
* @param callback 回调
*/
void startSpeak(PluginCallback callback);
/**
* 停止说话
*
* @param callback 回调
*/
void stopSpeak(PluginCallback callback);
/**
* 开始听一条流的声音
*
* @param streamId 流id
* @param callback 回调
*/
void startListen(String streamId, PluginCallback callback);
/**
* 停止听一条流的声音
*
* @param streamId 流id
* @param callback 回调
*/
void stopListen(String streamId, PluginCallback callback);
/**
* 开始听所有流的声音
*
* @param callback 回调
*/
void startListen(PluginCallback callback);
/**
* 停止听所有流的声音
*
* @param callback 回调
*/
void stopListen(PluginCallback callback);
/**
* 静音
*
* @param streamId 流id
* @param on true: 静音,false: 取消静音
* @param callback 回调
*/
void silent(String streamId, boolean on, PluginCallback callback);
/**
* 开关麦克风
*
* @param on true: 开,false:关
* @param callback 回调
*/
void switchMic(boolean on, PluginCallback callback);
/**
* 开关免提
*
* @param on true: 开,false:关
* @param callback 回调
*/
void switchHandsfree(boolean on, PluginCallback callback);
/**
* 获取当前房间流信息
*
* @return 流信息list
*/
List<AudioStream> currentStream();
/**
* 获取当前流的提供方
*
* @return 流云商枚举
*/
StreamSupplierEnum getStreamSupplier();
/**
* 开始重连
*
* @param pluginCallback 回调
*/
void startReconnect(PluginCallback pluginCallback);
/**
* 切换拉流模式
*
* @param realTime true:rtc,false:CDN
* @param callback 回调
*/
void switchListen(boolean realTime, PluginCallback callback);
提供房间长连的相关能力
/**
* 发送消息
*
* @param connectMessage {@link cn.bixin.sona.plugin.internal.ConnectMessage.MessageCreator} 创建消息
* @param pluginCallback 回调
*/
void sendMessage(ConnectMessage connectMessage, PluginCallback pluginCallback);
/**
* 发送消息
*
* @param connectMessage {@link cn.bixin.sona.plugin.internal.ConnectMessage.MessageCreator} 创建消息
* @param needToSave 是否需要服务器保存消息 1:是,0否
* @param pluginCallback 回调
*/
void sendMessage(ConnectMessage connectMessage, int needToSave, PluginCallback pluginCallback);
/**
* 开始重连长连
*
* @param pluginCallback 回调
*/
void startReconnect(PluginCallback pluginCallback);
提供房间操作背景音乐的能力
/**
* 开始播放
*
* @param url 播放地址
* @param startPosition 开始播放位置
* @param pattern 播放模式 LOCAL: 本地播放,REMOTE:混流推流中
*/
override fun play(url: String, startPosition: Long, pattern: IAudioPlayer.PlayPattern)
/**
* 开始循环播放
*
* @param url 播放地址
* @param startPosition 开始播放位置
* @param pattern 播放模式 LOCAL: 本地播放,REMOTE:混流推流中
*/
override fun playRepeat(url: String, startPosition: Long, pattern: IAudioPlayer.PlayPattern)
/**
* 恢复播放
*/
override fun resume()
/**
* 暂停播放
*/
override fun pause()
/**
* 停止播放
*/
override fun stop()
/**
* 拖动进度
*
* @param position 0~duration
*/
override fun seek(position: Long)
/**
* 设置音量
*
* @param volume 0~100
*/
override fun setVolume(volume: Int)
/**
* 获取总时长
*
* @return 资源总时长
*/
override fun getDuration(): Long
/**
* 获取当前播放的位置
*/
override fun getCurrentPosition(): Long
/**
* 获取播放状态
*
* @return 当前播放状态
*/
override fun getStatus(): IAudioPlayer.Status