Class RoomServiceClient
-
- All Implemented Interfaces:
public final class RoomServiceClientA client for interacting managing LiveKit rooms and participants.
See: Managing Rooms
-
-
Constructor Summary
Constructors Constructor Description RoomServiceClient(RoomService service, String apiKey, String secret)
-
Method Summary
Modifier and Type Method Description final Call<<Error class: unknown class>>createRoom(String name, Integer emptyTimeout, Integer maxParticipants, String nodeId, String metadata, Integer minPlayoutDelay, Integer maxPlayoutDelay, Boolean syncStreams, Integer departureTimeout)Creates a new room. final Call<<Error class: unknown class>>createRoom(String name, Integer emptyTimeout, Integer maxParticipants, String nodeId, String metadata, Integer minPlayoutDelay, Integer maxPlayoutDelay, Boolean syncStreams)Creates a new room. final Call<<Error class: unknown class>>createRoom(String name, Integer emptyTimeout, Integer maxParticipants, String nodeId, String metadata, Integer minPlayoutDelay, Integer maxPlayoutDelay)Creates a new room. final Call<<Error class: unknown class>>createRoom(String name, Integer emptyTimeout, Integer maxParticipants, String nodeId, String metadata, Integer minPlayoutDelay)Creates a new room. final Call<<Error class: unknown class>>createRoom(String name, Integer emptyTimeout, Integer maxParticipants, String nodeId, String metadata)Creates a new room. final Call<<Error class: unknown class>>createRoom(String name, Integer emptyTimeout, Integer maxParticipants, String nodeId)Creates a new room. final Call<<Error class: unknown class>>createRoom(String name, Integer emptyTimeout, Integer maxParticipants)Creates a new room. final Call<<Error class: unknown class>>createRoom(String name, Integer emptyTimeout)Creates a new room. final Call<<Error class: unknown class>>createRoom(String name)Creates a new room. final Call<List<<Error class: unknown class>>>listRooms(List<String> names)List active rooms final Call<List<<Error class: unknown class>>>listRooms()List active rooms final Call<Void>deleteRoom(String roomName)final Call<<Error class: unknown class>>updateRoomMetadata(String roomName, String metadata)Update metadata of a room final Call<List<<Error class: unknown class>>>listParticipants(String roomName)List participants in a room final Call<<Error class: unknown class>>getParticipant(String roomName, String identity)Get information on a specific participant, including the tracks that participant has published final Call<Void>removeParticipant(String roomName, String identity)Removes a participant in the room. final Call<<Error class: unknown class>>forwardParticipant(String roomName, String identity, String destinationRoomName)Forward a participant's track(s) to another room. final Call<<Error class: unknown class>>moveParticipant(String roomName, String identity, String destinationRoomName)Move a participant from one room to another room. final Call<<Error class: unknown class>>mutePublishedTrack(String roomName, String identity, String trackSid, Boolean mute)Mutes a track that the participant has published. final Call<<Error class: unknown class>>,java.util.Map)>updateParticipant(String roomName, String identity, String name, String metadata, <Error class: unknown class> participantPermission, Map<String, String> attributes)Updates a participant's metadata or permissions final Call<<Error class: unknown class>>,java.util.Map)>updateParticipant(String roomName, String identity, String name, String metadata, <Error class: unknown class> participantPermission)Updates a participant's metadata or permissions final Call<<Error class: unknown class>>,java.util.Map)>updateParticipant(String roomName, String identity, String name, String metadata)Updates a participant's metadata or permissions final Call<<Error class: unknown class>>,java.util.Map)>updateParticipant(String roomName, String identity, String name)Updates a participant's metadata or permissions final Call<<Error class: unknown class>>,java.util.Map)>updateParticipant(String roomName, String identity)Updates a participant's metadata or permissions final Call<Void>updateSubscriptions(String roomName, String identity, List<String> trackSids, Boolean subscribe)Updates a participant's subscription to tracks final Call<Void>,java.util.List,java.util.List,java.lang.String)>sendData(String roomName, ByteArray data, <Error class: unknown class> kind, List<String> destinationSids, List<String> destinationIdentities, String topic)Sends data message to participants in the room final Call<Void>,java.util.List,java.util.List,java.lang.String)>sendData(String roomName, ByteArray data, <Error class: unknown class> kind, List<String> destinationSids, List<String> destinationIdentities)Sends data message to participants in the room final Call<Void>,java.util.List,java.util.List,java.lang.String)>sendData(String roomName, ByteArray data, <Error class: unknown class> kind, List<String> destinationSids)Sends data message to participants in the room final Call<Void>,java.util.List,java.util.List,java.lang.String)>sendData(String roomName, ByteArray data, <Error class: unknown class> kind)Sends data message to participants in the room final static RoomServiceClientcreate(String host, String apiKey, String secret, Boolean logging, Consumer<OkHttpClient.Builder> okHttpConfigurator)Create a RoomServiceClient. final static RoomServiceClientcreate(String host, String apiKey, String secret, Boolean logging)Create a RoomServiceClient. final static RoomServiceClientcreate(String host, String apiKey, String secret)Create a RoomServiceClient. final static RoomServiceClientcreateClient(String host, String apiKey, String secret, Supplier<OkHttpClient> okHttpSupplier)Create a RoomServiceClient. final static RoomServiceClientcreateClient(String host, String apiKey, String secret)Create a RoomServiceClient. -
-
Constructor Detail
-
RoomServiceClient
RoomServiceClient(RoomService service, String apiKey, String secret)
-
-
Method Detail
-
createRoom
@JvmOverloads() final Call<<Error class: unknown class>> createRoom(String name, Integer emptyTimeout, Integer maxParticipants, String nodeId, String metadata, Integer minPlayoutDelay, Integer maxPlayoutDelay, Boolean syncStreams, Integer departureTimeout)
Creates a new room. Explicit room creation is not required, since rooms will be automatically created when the first participant joins. This method can be used to customize room settings.
-
createRoom
@JvmOverloads() final Call<<Error class: unknown class>> createRoom(String name, Integer emptyTimeout, Integer maxParticipants, String nodeId, String metadata, Integer minPlayoutDelay, Integer maxPlayoutDelay, Boolean syncStreams)
Creates a new room. Explicit room creation is not required, since rooms will be automatically created when the first participant joins. This method can be used to customize room settings.
-
createRoom
@JvmOverloads() final Call<<Error class: unknown class>> createRoom(String name, Integer emptyTimeout, Integer maxParticipants, String nodeId, String metadata, Integer minPlayoutDelay, Integer maxPlayoutDelay)
Creates a new room. Explicit room creation is not required, since rooms will be automatically created when the first participant joins. This method can be used to customize room settings.
-
createRoom
@JvmOverloads() final Call<<Error class: unknown class>> createRoom(String name, Integer emptyTimeout, Integer maxParticipants, String nodeId, String metadata, Integer minPlayoutDelay)
Creates a new room. Explicit room creation is not required, since rooms will be automatically created when the first participant joins. This method can be used to customize room settings.
-
createRoom
@JvmOverloads() final Call<<Error class: unknown class>> createRoom(String name, Integer emptyTimeout, Integer maxParticipants, String nodeId, String metadata)
Creates a new room. Explicit room creation is not required, since rooms will be automatically created when the first participant joins. This method can be used to customize room settings.
-
createRoom
@JvmOverloads() final Call<<Error class: unknown class>> createRoom(String name, Integer emptyTimeout, Integer maxParticipants, String nodeId)
Creates a new room. Explicit room creation is not required, since rooms will be automatically created when the first participant joins. This method can be used to customize room settings.
-
createRoom
@JvmOverloads() final Call<<Error class: unknown class>> createRoom(String name, Integer emptyTimeout, Integer maxParticipants)
Creates a new room. Explicit room creation is not required, since rooms will be automatically created when the first participant joins. This method can be used to customize room settings.
-
createRoom
@JvmOverloads() final Call<<Error class: unknown class>> createRoom(String name, Integer emptyTimeout)
Creates a new room. Explicit room creation is not required, since rooms will be automatically created when the first participant joins. This method can be used to customize room settings.
-
createRoom
@JvmOverloads() final Call<<Error class: unknown class>> createRoom(String name)
Creates a new room. Explicit room creation is not required, since rooms will be automatically created when the first participant joins. This method can be used to customize room settings.
-
listRooms
@JvmOverloads() final Call<List<<Error class: unknown class>>> listRooms(List<String> names)
List active rooms
- Parameters:
names- when null or empty, list all rooms.
-
listRooms
@JvmOverloads() final Call<List<<Error class: unknown class>>> listRooms()
List active rooms
-
deleteRoom
final Call<Void> deleteRoom(String roomName)
-
updateRoomMetadata
final Call<<Error class: unknown class>> updateRoomMetadata(String roomName, String metadata)
Update metadata of a room
- Parameters:
roomName- name of the roommetadata- the new metadata for the room
-
listParticipants
final Call<List<<Error class: unknown class>>> listParticipants(String roomName)
List participants in a room
- Parameters:
roomName- name of the room
-
getParticipant
final Call<<Error class: unknown class>> getParticipant(String roomName, String identity)
Get information on a specific participant, including the tracks that participant has published
- Parameters:
roomName- name of the roomidentity- identity of the participant to return
-
removeParticipant
final Call<Void> removeParticipant(String roomName, String identity)
Removes a participant in the room. This will disconnect the participant and will emit a Disconnected event for that participant. Even after being removed, the participant can still re-join the room.
-
forwardParticipant
final Call<<Error class: unknown class>> forwardParticipant(String roomName, String identity, String destinationRoomName)
Forward a participant's track(s) to another room. Requires
roomAdminanddestinationRoom. The forwarding will stop when the participant leaves the room orRemoveParticipanthas been called in the destination room. A participant can be forwarded to multiple rooms. The destination room will be created if it does not exist.
-
moveParticipant
final Call<<Error class: unknown class>> moveParticipant(String roomName, String identity, String destinationRoomName)
Move a participant from one room to another room.
-
mutePublishedTrack
final Call<<Error class: unknown class>> mutePublishedTrack(String roomName, String identity, String trackSid, Boolean mute)
Mutes a track that the participant has published.
- Parameters:
trackSid- sid of the track to be mutedmute- true to mute, false to unmute
-
updateParticipant
@JvmOverloads() final Call<<Error class: unknown class>> ,java.util.Map)>updateParticipant(String roomName, String identity, String name, String metadata, <Error class: unknown class> participantPermission, Map<String, String> attributes)
Updates a participant's metadata or permissions
- Parameters:
name- optional, participant name to updatemetadata- optional, metadata to updateparticipantPermission- optional, new permissions to assign to participantattributes- attributes to update.
-
updateParticipant
@JvmOverloads() final Call<<Error class: unknown class>> ,java.util.Map)>updateParticipant(String roomName, String identity, String name, String metadata, <Error class: unknown class> participantPermission)
Updates a participant's metadata or permissions
- Parameters:
name- optional, participant name to updatemetadata- optional, metadata to updateparticipantPermission- optional, new permissions to assign to participant
-
updateParticipant
@JvmOverloads() final Call<<Error class: unknown class>> ,java.util.Map)>updateParticipant(String roomName, String identity, String name, String metadata)
Updates a participant's metadata or permissions
- Parameters:
name- optional, participant name to updatemetadata- optional, metadata to update
-
updateParticipant
@JvmOverloads() final Call<<Error class: unknown class>> ,java.util.Map)>updateParticipant(String roomName, String identity, String name)
Updates a participant's metadata or permissions
- Parameters:
name- optional, participant name to update
-
updateParticipant
@JvmOverloads() final Call<<Error class: unknown class>> ,java.util.Map)>updateParticipant(String roomName, String identity)
Updates a participant's metadata or permissions
-
updateSubscriptions
final Call<Void> updateSubscriptions(String roomName, String identity, List<String> trackSids, Boolean subscribe)
Updates a participant's subscription to tracks
- Parameters:
subscribe- true to subscribe, false to unsubscribe
-
sendData
@JvmOverloads() final Call<Void> ,java.util.List,java.util.List,java.lang.String)>sendData(String roomName, ByteArray data, <Error class: unknown class> kind, List<String> destinationSids, List<String> destinationIdentities, String topic)
Sends data message to participants in the room
- Parameters:
data- opaque payload to sendkind- delivery reliabilitydestinationSids- optional.
-
sendData
@JvmOverloads() final Call<Void> ,java.util.List,java.util.List,java.lang.String)>sendData(String roomName, ByteArray data, <Error class: unknown class> kind, List<String> destinationSids, List<String> destinationIdentities)
Sends data message to participants in the room
- Parameters:
data- opaque payload to sendkind- delivery reliabilitydestinationSids- optional.
-
sendData
@JvmOverloads() final Call<Void> ,java.util.List,java.util.List,java.lang.String)>sendData(String roomName, ByteArray data, <Error class: unknown class> kind, List<String> destinationSids)
Sends data message to participants in the room
- Parameters:
data- opaque payload to sendkind- delivery reliabilitydestinationSids- optional.
-
sendData
@JvmOverloads() final Call<Void> ,java.util.List,java.util.List,java.lang.String)>sendData(String roomName, ByteArray data, <Error class: unknown class> kind)
Sends data message to participants in the room
- Parameters:
data- opaque payload to sendkind- delivery reliability
-
create
@Deprecated(message = "Use RoomServiceClient.createClient()", replaceWith = @ReplaceWith(imports = {"import io.livekit.server.okhttp.OkHttpFactory"}, expression = "RoomServiceClient.createClient(host, apiKey, secret, OkHttpFactory(logging, okHttpConfigurator))"))@JvmOverloads() final static RoomServiceClient create(String host, String apiKey, String secret, Boolean logging, Consumer<OkHttpClient.Builder> okHttpConfigurator)
Create a RoomServiceClient.
- Parameters:
okHttpConfigurator- provide this if you wish to customize the http client (e.g.
-
create
@Deprecated(message = "Use RoomServiceClient.createClient()", replaceWith = @ReplaceWith(imports = {"import io.livekit.server.okhttp.OkHttpFactory"}, expression = "RoomServiceClient.createClient(host, apiKey, secret, OkHttpFactory(logging, okHttpConfigurator))"))@JvmOverloads() final static RoomServiceClient create(String host, String apiKey, String secret, Boolean logging)
Create a RoomServiceClient.
-
create
@Deprecated(message = "Use RoomServiceClient.createClient()", replaceWith = @ReplaceWith(imports = {"import io.livekit.server.okhttp.OkHttpFactory"}, expression = "RoomServiceClient.createClient(host, apiKey, secret, OkHttpFactory(logging, okHttpConfigurator))"))@JvmOverloads() final static RoomServiceClient create(String host, String apiKey, String secret)
Create a RoomServiceClient.
-
createClient
@JvmOverloads() final static RoomServiceClient createClient(String host, String apiKey, String secret, Supplier<OkHttpClient> okHttpSupplier)
Create a RoomServiceClient.
- Parameters:
okHttpSupplier- provide an OkHttpFactory if you wish to customize the http client (e.g.
-
createClient
@JvmOverloads() final static RoomServiceClient createClient(String host, String apiKey, String secret)
Create a RoomServiceClient.
-
-
-
-