Class
LocalParticipant
@objc
public class LocalParticipant: Participant
Relationships
Superclass
Participant
Properties
localAudioTracks
@objc
public var localAudioTracks: [LocalTrackPublication]
localVideoTracks
@objc
public var localVideoTracks: [LocalTrackPublication]
Methods
setCameraObjC(enabled:)
@objc(setCameraEnabled:)
@discardableResult
public func setCameraObjC(enabled: Bool) -> Promise<LocalTrackPublication?>.ObjCPromise<LocalTrackPublication>
setMicrophoneObjC(enabled:)
@objc(setMicrophoneEnabled:)
@discardableResult
public func setMicrophoneObjC(enabled: Bool) -> Promise<LocalTrackPublication?>.ObjCPromise<LocalTrackPublication>
publishVideoTrackObjC(track:publishOptions:)
@objc(publishVideoTrack:options:)
@discardableResult
public func publishVideoTrackObjC(track: LocalVideoTrack,
publishOptions: VideoPublishOptions? = nil) -> Promise<LocalTrackPublication>.ObjCPromise<LocalTrackPublication>
publishAudioTrackObjC(track:publishOptions:)
@objc(publishAudioTrack:options:)
@discardableResult
public func publishAudioTrackObjC(track: LocalAudioTrack,
publishOptions: AudioPublishOptions? = nil) -> Promise<LocalTrackPublication>.ObjCPromise<LocalTrackPublication>
unpublishObjC(publication:)
@objc(unpublishPublication:)
@discardableResult
public func unpublishObjC(publication: LocalTrackPublication) -> Promise<Void>.ObjCPromise<NSNull>
publishDataObjC(data:reliability:destination:)
@objc(publishData:reliability:destination:)
@discardableResult
public func publishDataObjC(data: Data,
reliability: Reliability = .reliable,
destination: [String] = []) -> Promise<Void>.ObjCPromise<NSNull>
setTrackSubscriptionPermissionsObjC(allParticipantsAllowed:trackPermissions:)
@objc(setTrackSubscriptionPermissionsWithAllParticipantsAllowed:trackPermissions:)
@discardableResult
public func setTrackSubscriptionPermissionsObjC(allParticipantsAllowed: Bool,
trackPermissions: [ParticipantTrackPermission] = []) -> Promise<Void>.ObjCPromise<NSNull>
publishAudioTrack(track:publishOptions:)
public func publishAudioTrack(track: LocalAudioTrack,
publishOptions: AudioPublishOptions? = nil) -> Promise<LocalTrackPublication>
publish a new audio track to the Room
publishVideoTrack(track:publishOptions:)
public func publishVideoTrack(track: LocalVideoTrack,
publishOptions: VideoPublishOptions? = nil) -> Promise<LocalTrackPublication>
publish a new video track to the Room
unpublishAll(notify:)
public override func unpublishAll(notify _notify: Bool = true) -> Promise<Void>
unpublish(publication:notify:)
public func unpublish(publication: LocalTrackPublication, notify _notify: Bool = true) -> Promise<Void>
unpublish an existing published track this will also stop the track
publishData(data:reliability:destination:)
@discardableResult
public func publishData(data: Data,
reliability: Reliability = .reliable,
destination: [String] = []) -> Promise<Void>
publish data to the other participants in the room
Data is forwarded to each participant in the room. Each payload must not exceed 15k.
Parameters
Name | Type | Description |
---|---|---|
data | Data |
Data to send |
reliability | Reliability |
Toggle between sending relialble vs lossy delivery. For data that you need delivery guarantee (such as chat messages), use Reliable. For data that should arrive as quickly as possible, but you are ok with dropped packets, use Lossy. |
destination | [String] |
SIDs of the participants who will receive the message. If empty, deliver to everyone |
setTrackSubscriptionPermissions(allParticipantsAllowed:trackPermissions:)
@discardableResult
public func setTrackSubscriptionPermissions(allParticipantsAllowed: Bool,
trackPermissions: [ParticipantTrackPermission] = []) -> Promise<Void>
- Control who can subscribe to LocalParticipant's published tracks.
- By default, all participants can subscribe. This allows fine-grained control over
- who is able to subscribe at a participant and track level.
- Note: if access is given at a track-level (i.e. both
allParticipantsAllowed
and ParticipantTrackPermission/allTracksAllowed
are false), any newer published tracks- will not grant permissions to any participants and will require a subsequent
- permissions update to allow subscription.
-
- Parameter allParticipantsAllowed Allows all participants to subscribe all tracks.
- Takes precedence over
participantTrackPermissions
if set to true. - By default this is set to true.
-
- Parameter participantTrackPermissions Full list of individual permissions per
- participant/track. Any omitted participants will not receive any permissions.
setCamera(enabled:)
@discardableResult
public func setCamera(enabled: Bool) -> Promise<LocalTrackPublication?>
setMicrophone(enabled:)
@discardableResult
public func setMicrophone(enabled: Bool) -> Promise<LocalTrackPublication?>
set(source:enabled:)
public func set(source: Track.Source, enabled: Bool) -> Promise<LocalTrackPublication?>