For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Log inSign up
Support
ReferenceGuidesClick-to-Call
ReferenceGuidesClick-to-Call
  • Core
    • Overview
  • SignalWire Client
    • Overview
    • Notifications
    • Client
    • Utility functions
  • Video
    • Overview
    • LocalOverlay
    • RoomSession
      • Events
        • addCamera
        • addDevice
        • addMicrophone
        • audioMute
        • audioUnmute
        • createScreenShareObject
        • deaf
        • deleteMemberMeta
        • deleteMeta
        • demote
        • destroy
        • getLayouts
        • getMemberMeta
        • getMembers
        • getMeta
        • getPlaybacks
        • getRecordings
        • getStreams
        • hangupAll
        • hideVideoMuted
        • join
        • leave
        • lock
        • off
        • on
        • once
        • play
        • promote
        • removeAllListeners
        • removeAllMembers
        • removeMember
        • sendDigits
        • setHideVideoMuted
        • setInputSensitivity
        • setInputVolume
        • setLayout
        • setLocalStream
        • setMemberMeta
        • setMemberPosition
        • setMeta
        • setOutputVolume
        • setPositions
        • setPrioritizeHandraise
        • setRaisedHand
        • showVideoMuted
        • startRecording
        • startScreenShare
        • startStream
        • undeaf
        • unlock
        • updateCamera
        • updateMemberMeta
        • updateMeta
        • updateMicrophone
        • updateSpeaker
        • videoMute
        • videoUnmute
    • RoomSessionDevice
    • RoomSessionPlayback
    • RoomSessionRecording
    • RoomSessionScreenShare
    • RoomSessionStream
    • RoomDevice
    • RoomScreenShare
  • Chat
    • Overview
    • Client
    • ChatMember
    • ChatMemberEntity
    • ChatMessage
    • ChatMessageEntity
  • PubSub
    • Overview
    • Client
    • PubSubMessage
  • WebRTC
    • Overview
LogoLogoSignalWire Docs
Log inSign up
Support
On this page
  • addCamera
VideoRoomSessionMethods

addCamera

|View as Markdown|Open in Claude|
Was this page helpful?
Edit this page
Previous

addDevice

Next
Built with

addCamera

  • addCamera(opts): Promise<RoomSessionDevice> - See RoomSessionDevice documentation for more details.

Adds a camera device to the room. Using this method, a user can stream multiple video sources at the same time.

Parameters

opts
MediaTrackConstraints & { autoJoin?: boolean }

Specify the constraints for the device. In addition, you can add the autoJoin key to specify whether the device should immediately join the room or joining will be performed manually later.

Returns

Promise<RoomSessionDevice> - See RoomSessionDevice documentation for more details.

Permissions

  • room.self.additional_source

You need to specify the permissions when creating the Video Room Token on the server side.

Examples

Adding any of the camera devices to the room (duplicate streams are possible):

1await roomSession.addCamera();

Adding a specific camera:

1await roomSession.addCamera({
2 deviceId: "gOtMHwZdoA6wMlAnhbfTmeRgPAsqa7iw1OwgKYtbTLA=",
3});

Adding a high-resolution camera, joining it manually:

1const roomDev = await roomSession.addCamera({
2 autoJoin: false,
3 width: { min: 1280 },
4});
5await roomDev.join();