Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

接口文档

dreambko edited this page Dec 13, 2022 · 1 revision

SonaRoom

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);

AdminPlugin

提供房间管理相关能力

/**
 * 设置管理员
 *
 * @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);

AudioPlugin

提供操作房间音频相关能力

/**
 * 开始说话
 *
 * @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);

ConnectPlugin

提供房间长连的相关能力

/**
 * 发送消息
 *
 * @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);

AudioPlayerPlugin

提供房间操作背景音乐的能力

/**
 * 开始播放
 *
 * @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

Clone this wiki locally

AltStyle によって変換されたページ (->オリジナル) /