LiveCoreView
API Overview
LiveCoreView is a fundamental control developed for our video live streaming UIKit. This core control provides rich APIs such as preview before broadcasting, start video live streaming, stop video live streaming, live streaming room connection with audience, and cross-room connection with other anchors.
API Overview
API | Description |
Create LiveCoreView object, supporting both code creation and XML loading methods. | |
Start camera capture and display the captured video on LiveCoreView. | |
Turn on the local microphone | |
Pause publishing local audio stream? | |
Turns the local camera off | |
Turn off the local microphone | |
Anchor creates a live streaming room and starts streaming | |
Anchor stops streaming and destroys the live room | |
Audience member joins an anchor's live streaming room | |
Audience member leaves an anchor's live streaming room | |
Audience member requests to connect with the anchor | |
Audience member cancels the request to connect with the anchor | |
Anchor responds to the audience member's request for connection | |
Anchor disconnects the connected audience member | |
Audience member stops the connection with the anchor themselves | |
Anchor requests to connect with another anchor in a different live room | |
Anchor cancels the request to connect with another anchor in a different live room | |
Anchor responds to the connection request | |
Anchor disconnects the connection | |
Register a connection event callback | |
Unregister a connection event callback | |
Set the layout mode of the connected broadcaster's video screen | |
Set a view adapter for adding widgets to the broadcaster's video screen |
API Details
LiveCoreView
Create an instance of the LiveCoreView object. Supports both code creation and XML loading methods.
public LiveCoreView(Context context)
Parameters:
Parameters | Type | Meaning |
context | Context | Android context object |
Return value: LiveCoreView
startCamera
Start camera capture and display the captured video on the LiveCoreView view.
public void startCamera(boolean useFrontCamera, ActionCallback callback)
Parameters:
Parameters | Type | Meaning |
useFrontCamera | boolean | true: use front camera, false: use rear camera |
callback | ActionCallback | Callback of the operation |
Returned value: void
startMicrophone
Enable the local microphone.
void startMicrophone(ActionCallback callback)
Parameters:
Parameter | Type | Meaning |
callback | ActionCallback | Callback of the operation |
Returned value: void
muteMicrophone
Pause publishing the local audio stream.
void muteMicrophone(boolean mute)
Parameters:
Parameter | Type | Meaning |
mute | boolean | true: Pause video stream publishing, false: Normal video stream publishing |
Returned value:void
stopCamera
Turns the local camera off.
void stopCamera()
Parameters:
Returned value: void
stopMicrophone
Turn off the local microphone.
void stopMicrophone()
Parameters:
Returned value: void
startLiveStream
Anchor creates a live streaming room and starts streaming.
void startLiveStream(RoomInfo roomInfo, GetRoomInfoCallback callback)
Parameters:
Parameter | Type | Meaning |
roomInfo | RoomInfo | Create live room information |
callback | ActionCallback | Callback of the operation |
Returned value: void
stopLiveStream
Anchor stops streaming and destroys the live room.
void stopLiveStream(ActionCallback callback)
Parameters:
Parameter | Type | Meaning |
callback | ActionCallback | Callback of the operation |
Returned value: void
joinLiveStream
Audience member joins an anchor's live streaming room.
void joinLiveStream(String roomId, GetRoomInfoCallback callback)
Parameters:
Parameter | Type | Meaning |
roomId | String | Live room ID |
callback | ActionCallback | Callback of the operation |
Returned value: void
leaveLiveStream
Audience member leaves an anchor's live streaming room.
void leaveLiveStream(ActionCallback callback)
Parameters:
Parameter | Type | Meaning |
callback | ActionCallback | Callback of the operation |
Returned value: void
requestIntraRoomConnection
Audience member requests to connect with the anchor.
void requestIntraRoomConnection(String userId, int timeout, boolean openCamera, ActionCallback callback)
Parameters:
Parameter | Type | Meaning |
userId | String | User ID. If left blank, it represents the anchor's user ID. |
timeout | int | Request timeout duration, unit: seconds. |
openCamera | boolean | Whether to turn on the camera after a successful mic connection. true: video mic connect, false: voice mic connect. |
callback | ActionCallback | Callback of operations. |
Returned value: void
cancelIntraRoomConnection
Audience member cancels the request to connect with the anchor.
void cancelIntraRoomConnection(String userId, ActionCallback callback)
Parameters:
Parameter | Type | Meaning |
userId | String | User ID of the user who cancels the mic connection. If left blank, it represents the anchor's user ID. |
callback | ActionCallback | Callback of the operation |
Returned value: void
respondIntraRoomConnection
The anchor responds to the audience's request for connection.
void respondIntraRoomConnection(String userId, boolean isAccepted, ActionCallback callback)
Parameters:
Parameter | Type | Meaning |
userId | String | Responding user's User ID |
isAccepted | isAccepted | Whether to accept the mic connection request. true: accept the mic connection request, false: reject the mic connection request |
callback | ActionCallback | Callback of the operation |
Returned value: void
disconnectUser
The anchor disconnects the connected audience member.
void disconnectUser(String userId, ActionCallback callback)
Parameters:
Parameter | Type | Meaning |
userId | String | The anchor needs to disconnect the co-anchoring user's ID |
callback | ActionCallback | Callback of the operation |
Returned value: void
terminateIntraRoomConnection
The audience member stops the connection with the anchor themselves.
void terminateIntraRoomConnection()
Parameters: None
Returned value: void
requestCrossRoomConnection
Anchor requests to connect with another anchor in a different live room.
void requestCrossRoomConnection(String roomId, int timeout, ActionCallback callback)
Parameters:
Parameter | Type | Meaning |
roomId | String | Room ID of the cross-room connection request. |
timeout | int | Request timeout duration, unit: seconds. |
callback | ActionCallback | Callback of operations. |
Returned value: void
cancelCrossRoomConnection
Anchor cancels the request to connect with another anchor in a different live room.
void cancelCrossRoomConnection(String roomId, ActionCallback callback)
Parameters:
Parameter | Type | Meaning |
roomId | String | Room ID to cancel the connection |
callback | ActionCallback | Callback of the operation |
Returned value: void
respondToCrossRoomConnection
The anchor responds to the connection request.
void respondToCrossRoomConnection(String roomId, boolean isAccepted, ActionCallback callback)
Parameters:
Parameter | Type | Meaning |
roomId | String | Room ID for the response to the connection |
isAccepted | boolean | Whether to agree to the connection, true: agree to the connection, false: reject the connection |
callback | ActionCallback | Callback of the operation |
Returned value: void
terminateCrossRoomConnection
The anchor disconnects the connection.
void terminateCrossRoomConnection()
Parameters: None
Returned value: void
registerConnectionObserver
Register a connection event callback.
void registerConnectionObserver(ConnectionObserver observer)
Parameters:
Parameter | Type | Meaning |
observer | Callback object for connection events |
Returned value: void
unregisterConnectionObserver
Unregister a connection event callback.
void unregisterConnectionObserver(ConnectionObserver observer)
Parameters:
Parameter | Type | Meaning |
observer | Callback object for connection events |
Returned value: void
setLayoutMode
Set the layout mode of the connected broadcaster's video screen.
void setLayoutMode(LayoutMode layoutModel, String layoutJson)
Parameters:
Parameter | Type | Meaning |
layoutModel | Layout mode during connection, supporting grid layout, floating window layout, and custom layout. | |
layoutJson | String | Layout JSON string |
Returned value: void
setVideoViewAdapter
Set a view adapter for adding widgets to the broadcaster's video screen.
void setVideoViewAdapter(LiveCoreViewDefine.VideoViewAdapter viewAdapter)
Parameters:
Parameter | Type | Meaning |
viewAdapter | View adapter for adding widgets to the broadcaster's video screen |
Returned value: void
Type Definition
Type | Description |
Set callback events for core control connections. | |
Layout mode during connection, supporting grid layout, floating window layout, and custom layout. | |
Connection view adapter interface, which allows you to add widgets to each audio and video stream view by implementing this interface. |
ConnectionObserver
Type | Description |
Callback for changes in the list of connected users. | |
Callback for receiving a connection request. | |
Callback for receiving a request to cancel the connection. | |
Callback for connection request approval. | |
Callback for connection request rejection. | |
Callback for connection request timeout. | |
Callback for the host disconnecting the mic connection with this viewer. | |
Callback for the viewer actively disconnecting. | |
Callback for changes in the cross-room connection room list. | |
Callback for receiving a cross-room connection request. | |
Callback for receiving a request to cancel the cross-room connection. | |
Received callback for consent to cross-room connection | |
Received callback for cross-room connection rejection | |
Received callback for cross-room connection timeout. | |
Received callback for cross-room disconnection. | |
Received callback for room termination. |
LayoutMode
Layout mode during connection
Type | Description |
GRID_LAYOUT | Grid Layout. |
FLOAT_LAYOUT | Floating Window Layout. |
FREE_LAYOUT | Custom Layout. |
VideoViewAdapter
Connection view adapter interface, which allows you to add widgets to each audio and video stream view by implementing this interface.
API | Description |
Callback when creating a connected audience view. The View created through this API will be displayed on the connected audience's view. | |
Callback when updating the connected audience view. | |
Callback when creating a connected host view, the View created through this API will be displayed on the connected host's view. | |
Callback when updating the connected host view. |
Callback Event Details
onConnectedUsersUpdated
Callback for changes in the list of connected users.
void onConnectedUsersUpdated(List<UserInfo> userList, List<UserInfo> joinList, List<UserInfo> leaveList);
Parameters:
Parameter | Type | Description |
userList | List<UserInfo> | List of connected users |
joinList | List<UserInfo> | Newly connected users |
leaveList | List<UserInfo> | Users who have left the connection |
Returned value: void
onUserConnectionRequest
Callback for receiving a connection request.
void onUserConnectionRequest(UserInfo inviterUser);
Parameters:
Parameter | Type | Description |
inviterUser | UserInfo | Information of the user applying for connection |
Returned value: void
onUserConnectionCancelled
Callback for receiving a request to cancel the connection.
void onUserConnectionCancelled(UserInfo inviterUser);
Parameters:
Parameter | Type | Description |
inviterUser | UserInfo | Information of the user canceling the connection |
Returned value: void
onUserConnectionAccepted
Callback for connection request approval.
void onUserConnectionAccepted(UserInfo userInfo);
Parameters:
Parameter | Type | Description |
userInfo | UserInfo | Information of users who agreed to the mic connection |
Returned value: void
onUserConnectionRejected
Callback for connection request rejection.
void onUserConnectionRejected(UserInfo userInfo);
Parameters:
Parameter | Type | Description |
userInfo | UserInfo | Information of users who rejected the mic connection |
Returned value: void
onUserConnectionTimeout
Callback for connection request timeout.
void onUserConnectionTimeout(UserInfo userInfo);
Parameters:
Parameter | Type | Description |
userInfo | UserInfo | Information of users whose mic connection request timed out |
Returned value: void
onUserConnectionTerminated
Callback for the host disconnecting the mic connection with this viewer.
vvoid onUserConnectionTerminated();
Parameter: None
Returned value: void
onUserConnectionExited
Callback for disconnecting a connected user.
void onUserConnectionExited(UserInfo userInfo);
Parameters:
Parameter | Type | Description |
userInfo | UserInfo | User information |
Returned value: void
onConnectedRoomsUpdated
Callback for changes in the connected room list.
void onConnectedRoomsUpdated(List<RoomInfo> roomList);
Parameters:
Parameter | Type | Description |
roomList | List<RoomInfo> | Room list |
Returned value: void
onCrossRoomConnectionRequest
Callback for receiving a cross-room connection request.
void onCrossRoomConnectionRequest(RoomInfo roomInfo);
Parameters:
Parameter | Type | Description |
roomInfo | RoomInfo | Information of the live room applying for connection |
Returned value: void
onCrossRoomConnectionCancelled
Callback for receiving a request to cancel the cross-room connection.
void onCrossRoomConnectionCancelled(RoomInfo roomInfo);
Parameters:
Parameter | Type | Description |
roomInfo | RoomInfo | Information of the live room cancelling the connection application |
Returned value: void
onCrossRoomConnectionAccepted
Callback for receiving the cross-room connection approval.
void onCrossRoomConnectionAccepted(RoomInfo roomInfo);
Parameters:
Parameter | Type | Description |
roomInfo | RoomInfo | Information of the live room agreeing to the connection |
Returned value: void
onCrossRoomConnectionRejected
Callback for receiving the cross-room connection rejection.
void onCrossRoomConnectionRejected(RoomInfo roomInfo);
Parameters:
Parameter | Type | Description |
roomInfo | RoomInfo | Information of the live room rejecting the connection |
Returned value: void
onCrossRoomConnectionTimeout
Received callback for room connection request timeout.
void onCrossRoomConnectionTimeout(RoomInfo inviter, RoomInfo invitee);
Parameters:
Parameter | Type | Description |
inviter | RoomInfo | Information of the live room applying for connection |
invitee | RoomInfo | Information of the live room invited for connection |
Returned value: void
onCrossRoomConnectionExited
Callback for changes in the list of connected users.
void onCrossRoomConnectionExited(RoomInfo roomInfo);
Parameters:
Parameter | Type | Description |
roomInfo | RoomInfo | Information of the live room exiting the connection |
Returned value: void
onRoomDismissed
Received callback for live room termination.
void onRoomDismissed(String roomId);
Parameters:
Parameter | Type | Description |
roomId | String | Room ID |
Returned value: void
createCoGuestView
Create an overlay view for audience mic connection. This view will be added to the user's video stream.
View createCoGuestView(TUIRoomDefine.UserInfo userInfo);
Parameters:
Parameter | Type | Description |
userInfo | UserInfo | Information of the user connected to the mic |
Returned value: View
updateCoGuestView
Callback for updating the overlay view. Generally, you don’t need to concern yourself with this callback; you can update your overlay view according to the state of your overlay data, unless your overlay depends on the change in userInfo.
void updateCoGuestView(TUIRoomDefine.UserInfo userInfo, View coGuestView);
Parameters:
Parameter | Type | Description |
userInfo | UserInfo | Information of the user connected to the mic |
coGuestView | View |
Returned value: void
createCoHostView
Create the widget view for the connected host, which will be added to the video stream of the connected host.
View createCoHostView(TUILiveConnectionManager.ConnectionUser connectionUser);
Parameters:
Parameter | Type | Description |
connectionUser | ConnectionUser | Information of the connected host |
Returned value: View
updateCoHostView
Callback for updating the widget view. Generally, you do not need to worry about this callback. You can update the widget view you set based on the status of your own widget data, unless your widget relies on changes in connectionUser.
void updateCoHostView(TUILiveConnectionManager.ConnectionUser connectionUser, View coHostView);
Parameters:
Parameter | Type | Description |
connectionUser | ConnectionUser | Information of the connected host |
coHostView | View |
Returned value: void
- API Overview
- API Overview
- API Details
- LiveCoreView
- startCamera
- startMicrophone
- muteMicrophone
- stopCamera
- stopMicrophone
- startLiveStream
- stopLiveStream
- joinLiveStream
- leaveLiveStream
- requestIntraRoomConnection
- cancelIntraRoomConnection
- respondIntraRoomConnection
- disconnectUser
- terminateIntraRoomConnection
- requestCrossRoomConnection
- cancelCrossRoomConnection
- respondToCrossRoomConnection
- terminateCrossRoomConnection
- registerConnectionObserver
- unregisterConnectionObserver
- setLayoutMode
- setVideoViewAdapter
- Type Definition
- Callback Event Details
- onConnectedUsersUpdated
- onUserConnectionRequest
- onUserConnectionCancelled
- onUserConnectionAccepted
- onUserConnectionRejected
- onUserConnectionTimeout
- onUserConnectionTerminated
- onUserConnectionExited
- onConnectedRoomsUpdated
- onCrossRoomConnectionRequest
- onCrossRoomConnectionCancelled
- onCrossRoomConnectionAccepted
- onCrossRoomConnectionRejected
- onCrossRoomConnectionTimeout
- onCrossRoomConnectionExited
- onRoomDismissed
- createCoGuestView
- updateCoGuestView
- createCoHostView
- updateCoHostView