Android端API參考
本文為您提供音視頻通話場景Android端相關(guān)API的詳細(xì)說明。
API概覽
AUIRoomEngine
AUIRoomEngine API是音視頻通話組件的無UI接口,如果現(xiàn)有的交互并不滿足您的需求,您可以使用這套API根據(jù)您的業(yè)務(wù)需求自定義封裝。
API | 描述 |
login | 登錄 |
logout | 登出 |
createRoom | 創(chuàng)建房間 |
join | 加入房間 |
leave | 離開房間 |
startPublish | 開始推流 |
stopPublish | 停止推流 |
addObserver | 添加房間事件回調(diào) |
removerObserver | 移除房間事件監(jiān)聽回調(diào) |
requestJoin | 邀請用戶加入房間 |
cancelRequestJoin | 取消對其他用戶加入房間的邀請 |
responseJoin | 響應(yīng)加入房間的邀請 |
requestPublish | 邀請用戶推流 |
cancelRequestPublish | 取消對其他用戶推流的邀請 |
responsePublish | 響應(yīng)推流的邀請 |
setRenderViewLayout | 設(shè)置指定用戶預(yù)覽視圖的顯示容器 |
sendCustomMessage | 針對某個指定用戶發(fā)送自定義消息 |
sendGroupCustomMessage | 針對整個群組發(fā)送自定義消息 |
setCameraType | 設(shè)置攝像頭類型 |
switchAudioOutput | 切換音頻輸出方式 |
switchCamera | 請求改變指定用戶的攝像頭開關(guān)狀態(tài) |
switchMicrophone | 請求改變指定用戶的麥克風(fēng)開關(guān)狀態(tài) |
getAudioOutputType | 獲取音頻播放輸出的類型 |
getRoomId | 獲取當(dāng)前房間ID |
getUserId | 獲取當(dāng)前用戶ID |
isInRoom | 判斷當(dāng)前狀態(tài)是否在房間內(nèi) |
isPublishing | 判斷當(dāng)前狀態(tài)是否在推流 |
AUIRoomEngineObserve
AUIRoomEngineObserver對應(yīng)的是回調(diào)事件類,您可以通過此回調(diào),來監(jiān)聽自己感興趣的回調(diào)事件。
API | 描述 |
onCancelRequestJoin | 被取消加入房間的邀請的回調(diào) |
onCancelRequestPublish | 被取消推流邀請的回調(diào) |
onCustomMessageReceived | 收到自定義消息的回調(diào) |
onError | 錯誤回調(diào) |
onJoin | 加入房間的回調(diào) |
onLeave | 離開房間的回調(diào) |
onRequestJoin | 收到邀請加入房間的回調(diào) |
onRequestPublish | 收到邀請推流的回調(diào) |
onRequestSwitchCamera | 收到請求切換攝像頭狀態(tài)的回調(diào) |
onRequestSwitchMic | 收到請求切換麥克風(fēng)狀態(tài)的回調(diào) |
onResponseJoin | 收到被邀請者加入房間的響應(yīng)回調(diào) |
onResponsePublish | 收到被邀請者推流的響應(yīng)回調(diào) |
onUserAudioMuted | 收到用戶音頻流是否靜音的狀態(tài)回調(diào) |
onUserOnline | 收到用戶上線通知的回調(diào) |
onUserOffline | 收到用戶下線通知的回調(diào) |
onUserStartPublish | 收到用戶開始推流的回調(diào) |
onUserStopPublish | 收到用戶停止推流的回調(diào) |
onUserVideoMuted | 收到用戶視頻流是否推黑屏幀的回調(diào) |
AUIRoomEngine
AUIRoomEngine API是音視頻通話組件的無UI接口,如果現(xiàn)有的交互并不滿足您的需求,您可以使用這套 API根據(jù)您的業(yè)務(wù)需求自定義封裝。
addObserver:添加房間事件回調(diào)
void addObserver(AUIRoomEngineObserver observer);
參數(shù) | 類型 | 含義 |
observer | AUIRoomEngineObserver | 監(jiān)聽房間事件回調(diào)的observer |
cancelRequestJoin:取消對其他用戶加入房間的邀請
void cancelRequestJoin(String uid, JSONObject extra, AUIActionCallback callback);
參數(shù) | 類型 | 含義 |
uid | String | 目標(biāo)用戶ID |
extra | JSONObject | JSON參數(shù) |
callback | AUIActionCallback | 取消邀請的動作結(jié)果回調(diào) |
cancelRequestPublish:取消對其他用戶推流的邀請
void cancelRequestPublish(String uid, JSONObject extra, AUIActionCallback callback);
參數(shù) | 類型 | 含義 |
uid | String | 目標(biāo)用戶ID |
extra | JSONObject | JSON參數(shù) |
callback | AUIActionCallback | 取消邀請的動作結(jié)果回調(diào) |
createRoom:創(chuàng)建房間
void createRoom(AUICreateRoomCallback callback);
參數(shù) | 類型 | 含義 |
callback | AUICreateRoomCallback | 創(chuàng)建房間的結(jié)果回調(diào) |
join:加入房間
void join(AUIRoomConfig config, AUIActionCallback callback);
參數(shù) | 類型 | 含義 |
config | AUIRoomConfig | 目標(biāo)房間參數(shù) |
callback | AUIActionCallback | 加入房間的動作回調(diào) |
leave:離開房間
void leave(AUIActionCallback callback);
參數(shù) | 類型 | 含義 |
callback | AUIActionCallback | 離開房間的動作回調(diào) |
login:登錄
void login(Context context, AUIRoomUserInfo info, AUIActionCallback callback);
參數(shù) | 類型 | 含義 |
context | Context | 上下文 |
info | AUIRoomUserInfo | 登錄用戶的參數(shù) |
callback | AUIActionCallback | 登錄的動作回調(diào) |
logout:登出
void logout();
removerObserver:移除房間事件監(jiān)聽回調(diào)
void removerObserver(AUIRoomEngineObserver observer);
參數(shù) | 類型 | 含義 |
observer | AUIRoomEngineObserver | 被移除的observer監(jiān)聽回調(diào) |
requestJoin:邀請用戶加入房間
void requestJoin(String uid, JSONObject extra, AUIActionCallback callback);
參數(shù) | 類型 | 含義 |
uid | String | 被邀請用戶的ID |
extra | JSONObject | JSON參數(shù) |
callback | AUIActionCallback | 邀請的動作回調(diào) |
requestPublish:邀請用戶推流
void requestPublish(String uid, JSONObject extra, AUIActionCallback callback);
參數(shù) | 類型 | 含義 |
uid | String | 被邀請用戶的ID |
extra | JSONObject | JSON參數(shù) |
callback | AUIActionCallback | 邀請的動作回調(diào) |
responseJoin:響應(yīng)加入房間的邀請
void responseJoin(String uid, String roomId, boolean agree, JSONObject extra);
參數(shù) | 類型 | 含義 |
uid | String | 目標(biāo)用戶ID |
roomId | String | 目標(biāo)房間ID |
agree | boolean | 是否同意加入 |
extra | JSONObject | JSON參數(shù) |
responsePublish:響應(yīng)推流的邀請
void responsePublish(String roomId, String uid, boolean agree, JSONObject extra, AUIActionCallback callback);
參數(shù) | 類型 | 含義 |
uid | String | 目標(biāo)用戶ID |
roomId | String | 目標(biāo)房間ID |
agree | boolean | 是否同意推流 |
extra | JSONObject | JSON參數(shù) |
callback | AUIActionCallback | 響應(yīng)動作的回調(diào) |
sendCustomMessage:針對某個指定用戶發(fā)送自定義消息
void sendCustomMessage(String uid, String json, AUIActionCallback callback);
參數(shù) | 類型 | 含義 |
uid | String | 目標(biāo)用戶ID |
json | String | JSON參數(shù) |
callback | AUIActionCallback | 發(fā)送消息動作的回調(diào) |
sendGroupCustomMessage:針對整個群組發(fā)送自定義消息
void sendGroupCustomMessage(String json, AUIActionCallback callback);
參數(shù) | 類型 | 含義 |
json | String | JSON參數(shù) |
callback | AUIActionCallback | 發(fā)送消息動作的回調(diào) |
setCameraType:設(shè)置攝像頭類型
void setCameraType(AUIRoomEngineCameraType type, AUIActionCallback callback);
參數(shù) | 類型 | 含義 |
type | AUIRoomEngineCameraType | 攝像頭類型 |
callback | AUIActionCallback | 發(fā)送消息動作的回調(diào) |
setRenderViewLayout:設(shè)置指定用戶預(yù)覽視圖的顯示容器
void setRenderViewLayout(String uid, View container, boolean isTop, boolean mirror);
參數(shù) | 類型 | 含義 |
uid | String | 目標(biāo)用戶ID |
container | View | 目標(biāo)用戶預(yù)覽視圖的顯示容器 |
isTop | boolean | 設(shè)置顯示容器是否固定在視圖層級最上層 |
mirror | boolean | 是否鏡像顯示用戶預(yù)覽視圖 |
startPublish:開始推流
void startPublish(boolean cameraOpen, boolean micOpen, AUIActionCallback callback);
參數(shù) | 類型 | 含義 |
cameraOpen | boolean | 是否推視頻流 |
micOpen | boolean | 是否推音頻流 |
callback | AUIActionCallback | 推流動作的回調(diào) |
stopPublish:停止推流
void stopPublish(AUIActionCallback callback);
參數(shù) | 類型 | 含義 |
callback | AUIActionCallback | 停止推流動作的回調(diào) |
switchAudioOutput:切換音頻輸出類型
void switchAudioOutput(AUIAudioOutputType type);
參數(shù) | 類型 | 含義 |
type | AUIAudioOutputType | 音頻輸出類型枚舉 |
switchCamera:請求改變指定用戶的攝像頭開關(guān)狀態(tài)
void switchCamera(String uid, boolean open, JSONObject extra, AUIActionCallback callback);
參數(shù) | 類型 | 含義 |
uid | String | 目標(biāo)用戶ID,支持傳入自身ID |
open | boolean | 是否開啟 |
extra | JSONObject | JSON參數(shù) |
callback | AUIActionCallback | 請求動作的回調(diào) |
switchMicrophone:請求改變指定用戶的麥克風(fēng)開關(guān)狀態(tài)
void switchMicrophone(String uid, final boolean open, JSONObject extra, AUIActionCallback callback);
參數(shù) | 類型 | 含義 |
uid | String | 目標(biāo)用戶ID,支持傳入自身ID |
open | boolean | 是否開啟 |
extra | JSONObject | JSON參數(shù) |
callback | AUIActionCallback | 請求動作的回調(diào) |
AUIRoomEngineObserver
AUIRoomEngineObserve對應(yīng)的是回調(diào)事件類,您可以通過此回調(diào),來監(jiān)聽自己感興趣的回調(diào)事件。
onCancelRequestJoin:被取消加入房間的邀請的回調(diào)
void onCancelRequestJoin(String roomId, String sender, JSONObject extra);
參數(shù) | 類型 | 含義 |
roomId | String | 被取消邀請加入的房間ID |
sender | String | 發(fā)起取消邀請的用戶 |
extra | JSONObject | JSON參數(shù) |
onCancelRequestPublish:被取消推流邀請的回調(diào)
void onCancelRequestPublish(String sender, JSONObject extra);
參數(shù) | 類型 | 含義 |
sender | String | 發(fā)起取消邀請的用戶 |
extra | JSONObject | JSON參數(shù) |
onCustomMessageReceived:收到自定義消息的回調(diào)
void onCustomMessageReceived(String sender, String data);
參數(shù) | 類型 | 含義 |
sender | String | 發(fā)送消息的用戶 |
data | String | JSON參數(shù)字符串 |
onError:錯誤回調(diào)
void onError(int code, String msg);
參數(shù) | 類型 | 含義 |
code | int | 錯誤碼 |
msg | String | 錯誤信息 |
onJoin:加入房間的回調(diào)
void onJoin(String roomId, String uid);
參數(shù) | 類型 | 含義 |
roomId | String | 已加入的房間ID |
uid | String | 用戶ID |
onLeave:離開房間的回調(diào)
void onLeave();
onRequestJoin:收到邀請加入房間的回調(diào)
void onRequestJoin(String roomId, String inviter, JSONObject extra);
參數(shù) | 類型 | 含義 |
roomId | String | 房間ID |
inviter | String | 邀請者 |
extra | JSONObject | JSON參數(shù) |
onRequestPublish:收到邀請推流的回調(diào)
void onRequestPublish(String roomId, String inviter, JSONObject extra);
參數(shù) | 類型 | 含義 |
roomId | String | 房間ID |
inviter | String | 邀請者 |
extra | JSONObject | JSON參數(shù) |
onRequestSwitchCamera:收到請求切換攝像頭狀態(tài)的回調(diào)
void onRequestSwitchCamera(String roomId, String requester, boolean off, JSONObject extra);
參數(shù) | 類型 | 含義 |
roomId | String | 房間ID |
requester | String | 發(fā)起請求者ID |
off | boolean | 是否關(guān)閉攝像頭 |
extra | JSONObject | JSON參數(shù) |
onRequestSwitchMic:收到請求切換麥克風(fēng)狀態(tài)的回調(diào)
void onRequestSwitchMic(String roomId, String requester, boolean off, JSONObject extra);
參數(shù) | 類型 | 含義 |
roomId | String | 房間ID |
requester | String | 發(fā)起請求者ID |
off | boolean | 是否關(guān)閉麥克風(fēng) |
extra | JSONObject | JSON參數(shù) |
onResponseJoin:收到被邀請者加入房間的響應(yīng)回調(diào)
void onResponseJoin(String roomId, String invitee, boolean agree, JSONObject extra);
參數(shù) | 類型 | 含義 |
roomId | String | 房間ID |
invitee | String | 被邀請者ID |
agree | boolean | 是否同意 |
extra | JSONObject | JSON參數(shù) |
onResponsePublish:收到被邀請者推流的響應(yīng)回調(diào)
void onResponsePublish(String roomId, String invitee, boolean agree, JSONObject extra);
參數(shù) | 類型 | 含義 |
roomId | String | 房間ID |
invitee | String | 被邀請者ID |
agree | boolean | 是否同意 |
extra | JSONObject | JSON參數(shù) |
onUserAudioMuted:收到用戶音頻流是否靜音的狀態(tài)回調(diào)
void onUserAudioMuted(String uid, boolean muted);
參數(shù) | 類型 | 含義 |
uid | String | 用戶ID |
muted | boolean | 是否靜音 |
onUserOffline:收到用戶下線通知的回調(diào)
void onUserOffline(String roomId, String uid);
參數(shù) | 類型 | 含義 |
roomId | String | 房間ID |
uid | String | 用戶ID |
onUserOnline:收到用戶上線通知的回調(diào)
void onUserOnline(String roomId, String uid);
參數(shù) | 類型 | 含義 |
roomId | String | 房間ID |
uid | String | 用戶ID |
onUserStartPublish:收到用戶開始推流的回調(diào)
void onUserStartPublish(String uid);
參數(shù) | 類型 | 含義 |
uid | String | 用戶ID |
onUserStopPublish:收到用戶停止推流的回調(diào)
void onUserStopPublish(String uid);
參數(shù) | 類型 | 含義 |
uid | String | 用戶ID |
onUserVideoMuted:收到用戶視頻流是否推黑屏幀的回調(diào)
void onUserVideoMuted(String uid, boolean muted);
參數(shù) | 類型 | 含義 |
uid | String | 用戶ID |
muted | boolean | 是否推黑屏幀 |