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
  • addMicrophone
VideoRoomSessionMethods

addMicrophone

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

audioMute

Next
Built with

addMicrophone

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

Adds a microphone device to the room. Using this method, a user can stream multiple audio 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 microphone devices to the room (duplicate streams are possible):

1await roomSession.addMicrophone();

Adding a specific microphone:

1await roomSession.addMicrophone({
2 deviceId: "PIn/IIDDgBUHzJkhRncv1m85hX1gC67xYIgJvvThB3Q=",
3});

Adding a microphone with specific constraints, joining it manually:

1const roomDev = await roomSession.addMicrophone({
2 autoJoin: false,
3 noiseSuppression: true,
4});
5await roomDev.join();