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. | |
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.
LiveCoreView()
startCamera
Start camera capture and display the captured video on the LiveCoreView view.
func startCamera(useFrontCamera: Bool, onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
Parameters:
Parameters | Type | Meaning |
useFrontCamera | Bool | true: use front camera, false: use rear camera |
onSuccess | TUISuccessBlock | The success callback |
onError | TUIErrorBlock | The failure callback |
startMicrophone
Enable the local microphone.
func startMicrophone(onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
Parameters:
Parameters | Type | Meaning |
onSuccess | TUISuccessBlock | The success callback |
onError | TUIErrorBlock | The failure callback |
muteMicrophone
Pause publishing the local audio stream.
func muteMicrophone(mute: Bool)
Parameters:
Parameters | Type | Meaning |
mute | Bool | true: Pause video stream publishing, false: Normal video stream publishing |
stopCamera
Turns the local camera off.
func stopCamera()
stopMicrophone
Turn off the local microphone.
func stopMicrophone()
startLiveStream
Anchor creates a live streaming room and starts streaming.
func startLiveStream(roomInfo: TUIRoomInfo,onSuccess: @escaping TUIRoomInfoBlock,onError: @escaping TUIErrorBlock)
Parameters:
Parameters | Type | Meaning |
roomInfo | TUIRoomInfo | Create live room information |
onSuccess | TUIRoomInfoBlock | The success callback |
onError | TUIErrorBlock | The failure callback |
stopLiveStream
Anchor stops streaming and destroys the live room.
func stopLiveStream(onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
Parameters:
Parameters | Type | Meaning |
onSuccess | TUISuccessBlock | The success callback |
onError | TUIErrorBlock | The failure callback |
joinLiveStream
Audience member joins an anchor's live streaming room.
func joinLiveStream(roomId: String,onSuccess: @escaping TUIRoomInfoBlock,onError: @escaping TUIErrorBlock)
Parameters:
Parameters | Type | Meaning |
roomId | String | Live room ID |
onSuccess | TUIRoomInfoBlock | The success callback |
onError | TUIErrorBlock | The failure callback |
leaveLiveStream
Audience member leaves an anchor's live streaming room.
func leaveLiveStream(onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
Parameters:
Parameters | Type | Meaning |
onSuccess | TUISuccessBlock | The success callback |
onError | TUIErrorBlock | The failure callback |
requestIntraRoomConnection
Audience member requests to connect with the anchor.
func requestIntraRoomConnection(userId: String, timeOut: Int, openCamera: Bool,onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
Parameters:
Parameters | Type | Meaning |
userId | String | User ID. If an empty string is passed, it means the audience requests to connect with the host. If not empty, it means the host invites the user with the corresponding userId to connect. |
timeout | int | Request timeout duration, unit: seconds. |
openCamera | Bool | Whether to turn on the camera after a successful mic connection. true: video connect, false: voice connect. |
onSuccess | TUISuccessBlock | The success callback |
onError | TUIErrorBlock | The failure callback |
cancelIntraRoomConnection
Audience cancels the request to connect with the host.
func cancelIntraRoomConnection(userId: String,onSuccess: @escaping TUISuccessBlock,onError: @escaping TUIErrorBlock)
Parameters:
Parameters | Type | Meaning |
userId | String | User ID to cancel the mic connect. If an empty string is passed, it means the audience cancels the request to connect with the host. If not empty, it means the host cancels the invitation for the user with the corresponding userId to connect. |
onSuccess | TUISuccessBlock | The success callback |
onError | TUIErrorBlock | The failure callback |
respondIntraRoomConnection
Anchor responds to the audience's request to connect.
func respondIntraRoomConnection(userId: String, isAccepted: Bool,onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
Parameters:
Parameters | Type | Meaning |
userId | String | Audience user ID to respond to the host's invitation to connect. If an empty string is passed, it means the audience responds to the host's invitation to connect. |
isAccepted | isAccepted | Whether to accept the mic connect request. true: accept the mic connect request, false: reject the mic connect request. |
onSuccess | TUISuccessBlock | The success callback |
onError | TUIErrorBlock | The failure callback |
disconnectUser
The anchor disconnects the audience.
func disconnectUser(userId: String, onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
Parameters:
Parameters | Type | Meaning |
userId | String | The user ID that the anchor needs to disconnect. |
onSuccess | TUISuccessBlock | The success callback |
onError | TUIErrorBlock | The failure callback |
terminateIntraRoomConnection
The audience stops the connection with the anchor.
func terminateIntraRoomConnection()
requestCrossRoomConnection
The anchor requests to connect with another room's anchor.
func requestCrossRoomConnection(roomId: String, timeOut: Int,onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
Parameters:
Parameters | Type | Meaning |
roomId | String | The Room ID for cross-room connection request. |
timeout | int | Request timeout duration, unit: seconds. |
onSuccess | TUISuccessBlock | The success callback |
onError | TUIErrorBlock | The failure callback |
cancelCrossRoomConnection
Anchor cancels the request to connect with another host in a different room.
func cancelCrossRoomConnection(roomId: String, onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
Parameters:
Parameters | Type | Meaning |
roomId | String | Room ID for canceling the connection. |
onSuccess | TUISuccessBlock | The success callback |
onError | TUIErrorBlock | The failure callback |
respondToCrossRoomConnection
Anchor responds to the connection request.
func respondToCrossRoomConnection(roomId: String, isAccepted: Bool,onSuccess: @escaping TUISuccessBlock, onError: @escaping TUIErrorBlock)
Parameters:
Parameters | Type | Meaning |
roomId | String | Room ID for responding to the connection request. |
isAccepted | boolean | Whether to accept the connection. true: accept the connection, false: reject the connection. |
onSuccess | TUISuccessBlock | The success callback |
onError | TUIErrorBlock | The failure callback |
terminateCrossRoomConnection
The anchor disconnects the connection.
func terminateCrossRoomConnection()
registerConnectionObserver
Register a connection event callback.
func registerConnectionObserver(observer: ConnectionObserver)
Parameters:
Parameters | Type | Meaning |
observer | Callback object for connection events. |
unregisterConnectionObserver
Unregister a connection event callback.
func unregisterConnectionObserver(observer: ConnectionObserver)
Parameters:
Parameters | Type | Meaning |
observer | Callback object for connection events. |
setLayoutMode
Set the layout mode for the connected host's video.
func setLayoutMode(layoutMode: LayoutMode, layoutJson: String? = nil)
Parameters:
Parameters | Type | Meaning |
layoutModel | Layout mode during connection, supporting grid layout, floating window layout, and custom layout. | |
layoutJson | String |
delegate
Set the view delegate for adding widgets to the connected host's video.
public weak var videoViewDelegate: VideoViewDelegate?
Parameters:
Parameters | Type | Meaning |
viewAdapter | View Delegate for Adding Widgets to Live Stream Video |
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 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 |
gridLayout | Grid Layout. |
floatLayout | Floating Window Layout. |
freeLayout | Custom Layout. |
VideoViewDelegate
Connection view delegate 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.
func onConnectedUsersUpdated(userList: [TUIUserInfo], joinList: [TUIUserInfo], leaveList: [TUIUserInfo])
Parameters:
Parameter | Type | Description |
userList | List of connected users | |
joinList | Newly connected users | |
leaveList | Users who have left the connection |
onUserConnectionRequest
Callback for receiving a connection request.
func onUserConnectionRequest(inviterUser: TUIUserInfo)
Parameters:
Parameter | Type | Description |
inviterUser | Information of the user applying for connection |
onUserConnectionCancelled
Callback for receiving a request to cancel the connection.
func onUserConnectionCancelled(inviterUser: TUIUserInfo)
Parameters:
Parameter | Type | Description |
inviterUser | Information of the user canceling the connection |
onUserConnectionAccepted
Callback for connection request approval.
func onUserConnectionAccepted(userInfo: TUIUserInfo)
Parameters:
Parameter | Type | Description |
userInfo | Information of users who agreed to the connection |
onUserConnectionRejected
Callback for connection request rejection.
func onUserConnectionRejected(userInfo: TUIUserInfo)
Parameters:
Parameter | Type | Description |
userInfo | Information of users who rejected the connection |
onUserConnectionTimeout
Callback for connection request timeout.
func onUserConnectionTimeout(userInfo: TUIUserInfo)
Parameters:
Parameter | Type | Description |
userInfo | Information of users whose connection request timed out |
onUserConnectionTerminated
The callback for the anchor disconnecting the mic connect with this audience.
func onUserConnectionTerminated()
onUserConnectionExited
The callback for the user disconnecting from the seat.
func onUserConnectionExited(userInfo: TUIUserInfo)
Parameters:
Parameter | Type | Description |
userInfo | Information of users disconnected from the seat |
onConnectedRoomsUpdated
The callback for changes in the room list of connections.
func onConnectedRoomsUpdated(hostUserList: [TUIConnectionUser])
Parameters:
Parameter | Type | Description |
hostUserList | List of room owners of the connected room |
onCrossRoomConnectionRequest
The callback for receiving a cross-room connection request.
func onCrossRoomConnectionRequest(hostUser: TUIConnectionUser)
Parameters:
Parameter | Type | Description |
hostUser | Information on the live streaming room owner requesting a connection |
onCrossRoomConnectionCancelled
Callback for receiving a cancellation request for a cross-room connection.
func onCrossRoomConnectionCancelled(hostUser: TUIConnectionUser)
Parameters:
Parameter | Type | Description |
hostUser | Cancel the information of the live streaming room owner requesting a connection |
onCrossRoomConnectionAccepted
Callback for receiving an approval for a cross-room connection request.
func onCrossRoomConnectionAccepted(hostUser: TUIConnectionUser)
Parameters:
Parameter | Type | Description |
hostUser | Information on the live streaming room owner agreeing to the connection |
onCrossRoomConnectionRejected
Callback for receiving a rejection of a cross-room connection request.
func onCrossRoomConnectionRejected(hostUser: TUIConnectionUser)
Parameters:
Parameter | Type | Description |
hostUser | Information on the live streaming room owner rejecting the connection |
onCrossRoomConnectionTimeout
Callback for a timeout in receiving a room connection request.
func onCrossRoomConnectionTimeout(inviter: TUIConnectionUser, invitee: TUIConnectionUser)
Parameters:
Parameter | Type | Description |
inviter | Information on the live streaming room owner requesting a connection | |
invitee | Information on the live streaming room owner being invited to connect |
onCrossRoomConnectionExited
Callback for changes in the connected users list.
func onCrossRoomConnectionExited(hostUser: TUIConnectionUser)
Parameters:
Parameter | Type | Description |
hostUser | Information of the live streaming room exiting the connection |
onRoomDismissed
Callback of live streaming room termination.
func onRoomDismissed(roomId: String)
Parameters:
Parameter | Type | Description |
roomId | String | Room ID |
createCoGuestView
Create a pendant view for audience connection, which will be added to the user's video stream.
func createCoGuestView(userInfo: TUIUserInfo) -> UIView?
Parameters:
Parameter | Type | Description |
userInfo | User information of users connected to the microphone |
Return value: UIView?
updateCoGuestView
Callback for updating the pendant view. In general, you don't need to concern yourself with this callback. You can update your set pendant view based on the state of your pendant data unless your pendant depends on changes in userInfo.
func updateCoGuestView(userInfo: TUIUserInfo, coGuestView: UIView)
Parameters:
Parameter | Type | Description |
userInfo | User information of users connected to the microphone | |
coGuestView | UIView |
createCoHostView
Create a pendant view for the host's connection, which will be added to the connected host's video stream.
func createCoHostView(connectionUser: TUIConnectionUser) -> UIView?
Parameters:
Parameter | Type | Description |
connectionUser | User information of the connected host |
Return value: UIView?
updateCoHostView
Callback for updating the pendant view. In general, you don't need to concern yourself with this callback. You can update your set pendant view based on the state of your pendant data unless your pendant depends on changes in connectionUser.
func updateCoHostView(connectionUser: TUIConnectionUser, coHostView: UIView)
Parameters:
Parameter | Type | Description |
connectionUser | Information of the connected host | |
coHostView | UIView |
- 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
- delegate
- 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