本文为您提供音视频通话场景Android端相关API的详细说明。
API概览
AUIRoomEngine
AUIRoomEngine API是音视频通话组件的无UI接口,如果现有的交互并不满足您的需求,您可以使用这套API根据您的业务需求自定义封装。
API | 描述 |
login | 登录 |
logout | 登出 |
createRoom | 创建房间 |
join | 加入房间 |
leave | 离开房间 |
startPublish | 开始推流 |
stopPublish | 停止推流 |
addObserver | 添加房间事件回调 |
removerObserver | 移除房间事件监听回调 |
requestJoin | 邀请用户加入房间 |
cancelRequestJoin | 取消对其他用户加入房间的邀请 |
responseJoin | 响应加入房间的邀请 |
requestPublish | 邀请用户推流 |
cancelRequestPublish | 取消对其他用户推流的邀请 |
responsePublish | 响应推流的邀请 |
setRenderViewLayout | 设置指定用户预览视图的显示容器 |
sendCustomMessage | 针对某个指定用户发送自定义消息 |
sendGroupCustomMessage | 针对整个群组发送自定义消息 |
setCameraType | 设置摄像头类型 |
switchAudioOutput | 切换音频输出方式 |
switchCamera | 请求改变指定用户的摄像头开关状态 |
switchMicrophone | 请求改变指定用户的麦克风开关状态 |
getAudioOutputType | 获取音频播放输出的类型 |
getRoomId | 获取当前房间ID |
getUserId | 获取当前用户ID |
isInRoom | 判断当前状态是否在房间内 |
isPublishing | 判断当前状态是否在推流 |
AUIRoomEngineObserve
AUIRoomEngineObserver对应的是回调事件类,您可以通过此回调,来监听自己感兴趣的回调事件。
API | 描述 |
onCancelRequestJoin | 被取消加入房间的邀请的回调 |
onCancelRequestPublish | 被取消推流邀请的回调 |
onCustomMessageReceived | 收到自定义消息的回调 |
onError | 错误回调 |
onJoin | 加入房间的回调 |
onLeave | 离开房间的回调 |
onRequestJoin | 收到邀请加入房间的回调 |
onRequestPublish | 收到邀请推流的回调 |
onRequestSwitchCamera | 收到请求切换摄像头状态的回调 |
onRequestSwitchMic | 收到请求切换麦克风状态的回调 |
onResponseJoin | 收到被邀请者加入房间的响应回调 |
onResponsePublish | 收到被邀请者推流的响应回调 |
onUserAudioMuted | 收到用户音频流是否静音的状态回调 |
onUserOnline | 收到用户上线通知的回调 |
onUserOffline | 收到用户下线通知的回调 |
onUserStartPublish | 收到用户开始推流的回调 |
onUserStopPublish | 收到用户停止推流的回调 |
onUserVideoMuted | 收到用户视频流是否推黑屏帧的回调 |
AUIRoomEngine
AUIRoomEngine API是音视频通话组件的无UI接口,如果现有的交互并不满足您的需求,您可以使用这套 API根据您的业务需求自定义封装。
addObserver:添加房间事件回调
void addObserver(AUIRoomEngineObserver observer);
参数 | 类型 | 含义 |
observer | AUIRoomEngineObserver | 监听房间事件回调的observer |
cancelRequestJoin:取消对其他用户加入房间的邀请
void cancelRequestJoin(String uid, JSONObject extra, AUIActionCallback callback);
参数 | 类型 | 含义 |
uid | String | 目标用户ID |
extra | JSONObject | JSON参数 |
callback | AUIActionCallback | 取消邀请的动作结果回调 |
cancelRequestPublish:取消对其他用户推流的邀请
void cancelRequestPublish(String uid, JSONObject extra, AUIActionCallback callback);
参数 | 类型 | 含义 |
uid | String | 目标用户ID |
extra | JSONObject | JSON参数 |
callback | AUIActionCallback | 取消邀请的动作结果回调 |
createRoom:创建房间
void createRoom(AUICreateRoomCallback callback);
参数 | 类型 | 含义 |
callback | AUICreateRoomCallback | 创建房间的结果回调 |
join:加入房间
void join(AUIRoomConfig config, AUIActionCallback callback);
参数 | 类型 | 含义 |
config | AUIRoomConfig | 目标房间参数 |
callback | AUIActionCallback | 加入房间的动作回调 |
leave:离开房间
void leave(AUIActionCallback callback);
参数 | 类型 | 含义 |
callback | AUIActionCallback | 离开房间的动作回调 |
login:登录
void login(Context context, AUIRoomUserInfo info, AUIActionCallback callback);
参数 | 类型 | 含义 |
context | Context | 上下文 |
info | AUIRoomUserInfo | 登录用户的参数 |
callback | AUIActionCallback | 登录的动作回调 |
logout:登出
void logout();
removerObserver:移除房间事件监听回调
void removerObserver(AUIRoomEngineObserver observer);
参数 | 类型 | 含义 |
observer | AUIRoomEngineObserver | 被移除的observer监听回调 |
requestJoin:邀请用户加入房间
void requestJoin(String uid, JSONObject extra, AUIActionCallback callback);
参数 | 类型 | 含义 |
uid | String | 被邀请用户的ID |
extra | JSONObject | JSON参数 |
callback | AUIActionCallback | 邀请的动作回调 |
requestPublish:邀请用户推流
void requestPublish(String uid, JSONObject extra, AUIActionCallback callback);
参数 | 类型 | 含义 |
uid | String | 被邀请用户的ID |
extra | JSONObject | JSON参数 |
callback | AUIActionCallback | 邀请的动作回调 |
responseJoin:响应加入房间的邀请
void responseJoin(String uid, String roomId, boolean agree, JSONObject extra);
参数 | 类型 | 含义 |
uid | String | 目标用户ID |
roomId | String | 目标房间ID |
agree | boolean | 是否同意加入 |
extra | JSONObject | JSON参数 |
responsePublish:响应推流的邀请
void responsePublish(String roomId, String uid, boolean agree, JSONObject extra, AUIActionCallback callback);
参数 | 类型 | 含义 |
uid | String | 目标用户ID |
roomId | String | 目标房间ID |
agree | boolean | 是否同意推流 |
extra | JSONObject | JSON参数 |
callback | AUIActionCallback | 响应动作的回调 |
sendCustomMessage:针对某个指定用户发送自定义消息
void sendCustomMessage(String uid, String json, AUIActionCallback callback);
参数 | 类型 | 含义 |
uid | String | 目标用户ID |
json | String | JSON参数 |
callback | AUIActionCallback | 发送消息动作的回调 |
sendGroupCustomMessage:针对整个群组发送自定义消息
void sendGroupCustomMessage(String json, AUIActionCallback callback);
参数 | 类型 | 含义 |
json | String | JSON参数 |
callback | AUIActionCallback | 发送消息动作的回调 |
setCameraType:设置摄像头类型
void setCameraType(AUIRoomEngineCameraType type, AUIActionCallback callback);
参数 | 类型 | 含义 |
type | AUIRoomEngineCameraType | 摄像头类型 |
callback | AUIActionCallback | 发送消息动作的回调 |
setRenderViewLayout:设置指定用户预览视图的显示容器
void setRenderViewLayout(String uid, View container, boolean isTop, boolean mirror);
参数 | 类型 | 含义 |
uid | String | 目标用户ID |
container | View | 目标用户预览视图的显示容器 |
isTop | boolean | 设置显示容器是否固定在视图层级最上层 |
mirror | boolean | 是否镜像显示用户预览视图 |
startPublish:开始推流
void startPublish(boolean cameraOpen, boolean micOpen, AUIActionCallback callback);
参数 | 类型 | 含义 |
cameraOpen | boolean | 是否推视频流 |
micOpen | boolean | 是否推音频流 |
callback | AUIActionCallback | 推流动作的回调 |
stopPublish:停止推流
void stopPublish(AUIActionCallback callback);
参数 | 类型 | 含义 |
callback | AUIActionCallback | 停止推流动作的回调 |
switchAudioOutput:切换音频输出类型
void switchAudioOutput(AUIAudioOutputType type);
参数 | 类型 | 含义 |
type | AUIAudioOutputType | 音频输出类型枚举 |
switchCamera:请求改变指定用户的摄像头开关状态
void switchCamera(String uid, boolean open, JSONObject extra, AUIActionCallback callback);
参数 | 类型 | 含义 |
uid | String | 目标用户ID,支持传入自身ID |
open | boolean | 是否开启 |
extra | JSONObject | JSON参数 |
callback | AUIActionCallback | 请求动作的回调 |
switchMicrophone:请求改变指定用户的麦克风开关状态
void switchMicrophone(String uid, final boolean open, JSONObject extra, AUIActionCallback callback);
参数 | 类型 | 含义 |
uid | String | 目标用户ID,支持传入自身ID |
open | boolean | 是否开启 |
extra | JSONObject | JSON参数 |
callback | AUIActionCallback | 请求动作的回调 |
AUIRoomEngineObserver
AUIRoomEngineObserve对应的是回调事件类,您可以通过此回调,来监听自己感兴趣的回调事件。
onCancelRequestJoin:被取消加入房间的邀请的回调
void onCancelRequestJoin(String roomId, String sender, JSONObject extra);
参数 | 类型 | 含义 |
roomId | String | 被取消邀请加入的房间ID |
sender | String | 发起取消邀请的用户 |
extra | JSONObject | JSON参数 |
onCancelRequestPublish:被取消推流邀请的回调
void onCancelRequestPublish(String sender, JSONObject extra);
参数 | 类型 | 含义 |
sender | String | 发起取消邀请的用户 |
extra | JSONObject | JSON参数 |
onCustomMessageReceived:收到自定义消息的回调
void onCustomMessageReceived(String sender, String data);
参数 | 类型 | 含义 |
sender | String | 发送消息的用户 |
data | String | JSON参数字符串 |
onError:错误回调
void onError(int code, String msg);
参数 | 类型 | 含义 |
code | int | 错误码 |
msg | String | 错误信息 |
onJoin:加入房间的回调
void onJoin(String roomId, String uid);
参数 | 类型 | 含义 |
roomId | String | 已加入的房间ID |
uid | String | 用户ID |
onLeave:离开房间的回调
void onLeave();
onRequestJoin:收到邀请加入房间的回调
void onRequestJoin(String roomId, String inviter, JSONObject extra);
参数 | 类型 | 含义 |
roomId | String | 房间ID |
inviter | String | 邀请者 |
extra | JSONObject | JSON参数 |
onRequestPublish:收到邀请推流的回调
void onRequestPublish(String roomId, String inviter, JSONObject extra);
参数 | 类型 | 含义 |
roomId | String | 房间ID |
inviter | String | 邀请者 |
extra | JSONObject | JSON参数 |
onRequestSwitchCamera:收到请求切换摄像头状态的回调
void onRequestSwitchCamera(String roomId, String requester, boolean off, JSONObject extra);
参数 | 类型 | 含义 |
roomId | String | 房间ID |
requester | String | 发起请求者ID |
off | boolean | 是否关闭摄像头 |
extra | JSONObject | JSON参数 |
onRequestSwitchMic:收到请求切换麦克风状态的回调
void onRequestSwitchMic(String roomId, String requester, boolean off, JSONObject extra);
参数 | 类型 | 含义 |
roomId | String | 房间ID |
requester | String | 发起请求者ID |
off | boolean | 是否关闭麦克风 |
extra | JSONObject | JSON参数 |
onResponseJoin:收到被邀请者加入房间的响应回调
void onResponseJoin(String roomId, String invitee, boolean agree, JSONObject extra);
参数 | 类型 | 含义 |
roomId | String | 房间ID |
invitee | String | 被邀请者ID |
agree | boolean | 是否同意 |
extra | JSONObject | JSON参数 |
onResponsePublish:收到被邀请者推流的响应回调
void onResponsePublish(String roomId, String invitee, boolean agree, JSONObject extra);
参数 | 类型 | 含义 |
roomId | String | 房间ID |
invitee | String | 被邀请者ID |
agree | boolean | 是否同意 |
extra | JSONObject | JSON参数 |
onUserAudioMuted:收到用户音频流是否静音的状态回调
void onUserAudioMuted(String uid, boolean muted);
参数 | 类型 | 含义 |
uid | String | 用户ID |
muted | boolean | 是否静音 |
onUserOffline:收到用户下线通知的回调
void onUserOffline(String roomId, String uid);
参数 | 类型 | 含义 |
roomId | String | 房间ID |
uid | String | 用户ID |
onUserOnline:收到用户上线通知的回调
void onUserOnline(String roomId, String uid);
参数 | 类型 | 含义 |
roomId | String | 房间ID |
uid | String | 用户ID |
onUserStartPublish:收到用户开始推流的回调
void onUserStartPublish(String uid);
参数 | 类型 | 含义 |
uid | String | 用户ID |
onUserStopPublish:收到用户停止推流的回调
void onUserStopPublish(String uid);
参数 | 类型 | 含义 |
uid | String | 用户ID |
onUserVideoMuted:收到用户视频流是否推黑屏帧的回调
void onUserVideoMuted(String uid, boolean muted);
参数 | 类型 | 含义 |
uid | String | 用户ID |
muted | boolean | 是否推黑屏帧 |