description

# RtcPeerConnection class Null safety

Inheritance
  - Object
  - EventTarget
  - RtcPeerConnection
Annotations
  - @SupportedBrowser(SupportedBrowser.CHROME)
  - @Native("RTCPeerConnection,webkitRTCPeerConnection,mozRTCPeerConnection")

## Constructors

RtcPeerConnection(Map rtcIceServers, [Map? mediaConstraints])
  factory

## Properties

hashCode → int
  The hash code for this object. [...]
  read-only, inherited
iceConnectionState → String?
  read-only
iceGatheringState → String?
  read-only
localDescription → RtcSessionDescription?
  read-only
on → Events
  This is an ease-of-use accessor for event streams which should only be used when an explicit accessor is not available.
  read-only, inherited
onAddStream → Stream<MediaStreamEvent>
  Stream of `addstream` events handled by this RtcPeerConnection.
  read-only
onDataChannel → Stream<RtcDataChannelEvent>
  Stream of `datachannel` events handled by this RtcPeerConnection.
  read-only
onIceCandidate → Stream<RtcPeerConnectionIceEvent>
  Stream of `icecandidate` events handled by this RtcPeerConnection.
  read-only
onIceConnectionStateChange → Stream<Event>
  Stream of `iceconnectionstatechange` events handled by this RtcPeerConnection.
  read-only
onNegotiationNeeded → Stream<Event>
  Stream of `negotiationneeded` events handled by this RtcPeerConnection.
  read-only
onRemoveStream → Stream<MediaStreamEvent>
  Stream of `removestream` events handled by this RtcPeerConnection.
  read-only
onSignalingStateChange → Stream<Event>
  Stream of `signalingstatechange` events handled by this RtcPeerConnection.
  read-only
onTrack → Stream<RtcTrackEvent>
  Stream of `track` events handled by this RtcPeerConnection.
  read-only
remoteDescription → RtcSessionDescription?
  read-only
runtimeType → Type
  A representation of the runtime type of the object.
  read-only, inherited
signalingState → String?
  read-only

## Methods

addEventListener(String type, EventListener? listener, [bool? useCapture]) → void
  inherited
addIceCandidate(Object candidate, [VoidCallback? successCallback, RtcPeerConnectionErrorCallback? failureCallback]) → Future
addStream(MediaStream? stream, [Map? mediaConstraints]) → void
addTrack(MediaStreamTrack track, MediaStream streams) → RtcRtpSender
close() → void
createAnswer([Map? options]) → Future<RtcSessionDescription>
createDataChannel(String label, [Map? dataChannelDict]) → RtcDataChannel
createDtmfSender(MediaStreamTrack track) → RtcDtmfSender
  @JSName('createDTMFSender')
createOffer([Map? options]) → Future<RtcSessionDescription>
dispatchEvent(Event event) → bool
  inherited
getLegacyStats([MediaStreamTrack? selector]) → Future<RtcStatsResponse>
  Temporarily exposes _getStats and old getStats as getLegacyStats until Chrome fully supports new getStats API.
getLocalStreams() → List<MediaStream>
getReceivers() → List<RtcRtpReceiver>
getRemoteStreams() → List<MediaStream>
getSenders() → List<RtcRtpSender>
getStats() → Future<RtcStatsReport>
noSuchMethod(Invocation invocation) → dynamic
  Invoked when a non-existent method or property is accessed. [...]
  inherited
removeEventListener(String type, EventListener? listener, [bool? useCapture]) → void
  inherited
removeStream(MediaStream? stream) → void
removeTrack(RtcRtpSender sender) → void
setConfiguration(Map configuration) → void
setLocalDescription(Map description) → Future
setRemoteDescription(Map description) → Future
toString() → String
  Returns a string representation of this object.
  inherited

## Operators

operator ==(Object other) → bool
  The equality operator. [...]
  inherited

## Static Properties

supported → bool
  Checks if Real Time Communication (RTC) APIs are supported and enabled on the current platform.
  read-only

## Static Methods

generateCertificate(dynamic keygenAlgorithm) → Future

## Constants

addStreamEvent → const EventStreamProvider<MediaStreamEvent>
  Static factory designed to expose `addstream` events to event handlers that are not necessarily instances of RtcPeerConnection. [...]
  `const EventStreamProvider<MediaStreamEvent>('addstream')`
dataChannelEvent → const EventStreamProvider<RtcDataChannelEvent>
  Static factory designed to expose `datachannel` events to event handlers that are not necessarily instances of RtcPeerConnection. [...]
  `const EventStreamProvider<RtcDataChannelEvent>('datachannel')`
iceCandidateEvent → const EventStreamProvider<RtcPeerConnectionIceEvent>
  Static factory designed to expose `icecandidate` events to event handlers that are not necessarily instances of RtcPeerConnection. [...]
  `const EventStreamProvider<RtcPeerConnectionIceEvent>('icecandidate')`
iceConnectionStateChangeEvent → const EventStreamProvider<Event>
  Static factory designed to expose `iceconnectionstatechange` events to event handlers that are not necessarily instances of RtcPeerConnection. [...]
  `const EventStreamProvider<Event>('iceconnectionstatechange')`
negotiationNeededEvent → const EventStreamProvider<Event>
  Static factory designed to expose `negotiationneeded` events to event handlers that are not necessarily instances of RtcPeerConnection. [...]
  `const EventStreamProvider<Event>('negotiationneeded')`
removeStreamEvent → const EventStreamProvider<MediaStreamEvent>
  Static factory designed to expose `removestream` events to event handlers that are not necessarily instances of RtcPeerConnection. [...]
  `const EventStreamProvider<MediaStreamEvent>('removestream')`
signalingStateChangeEvent → const EventStreamProvider<Event>
  Static factory designed to expose `signalingstatechange` events to event handlers that are not necessarily instances of RtcPeerConnection. [...]
  `const EventStreamProvider<Event>('signalingstatechange')`
trackEvent → const EventStreamProvider<RtcTrackEvent>
  Static factory designed to expose `track` events to event handlers that are not necessarily instances of RtcPeerConnection. [...]
  `const EventStreamProvider<RtcTrackEvent>('track')`