*** id: 44b5403e-f687-4974-bf96-b1f801966510 title: addMicrophone slug: /js/reference/video/room-session/add-microphone description: addMicrophone method for the RoomSession class. max-toc-depth: 3 ---------------- ### addMicrophone * **addMicrophone**(`opts`): `Promise` - See [RoomSessionDevice documentation](/docs/browser-sdk/v3/js/reference/video/room-session-device) 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 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` - See [RoomSessionDevice documentation](/docs/browser-sdk/v3/js/reference/video/room-session-device) for more details. #### Permissions * `room.self.additional_source` You need to specify the permissions when [creating the Video Room Token](/docs/apis/video/room-tokens/create-room-token) on the server side. #### Examples Adding any of the microphone devices to the room (duplicate streams are possible): ```javascript await roomSession.addMicrophone(); ``` Adding a specific microphone: ```javascript await roomSession.addMicrophone({ deviceId: "PIn/IIDDgBUHzJkhRncv1m85hX1gC67xYIgJvvThB3Q=", }); ``` Adding a microphone with specific constraints, joining it manually: ```javascript const roomDev = await roomSession.addMicrophone({ autoJoin: false, noiseSuppression: true, }); await roomDev.join(); ```