Get Media Devices
The MediaStream API provides a way to access device cameras and microphones, which may be used to create media streams to publish into the video rooms. The API also provides information about the devices that can capture and render media.
The Android SDK provides the following methods:
- getDevices(): Provides a list of all the microphones connected to your device.
- getSelectedDevice(): Provides the selected/in-use audio device for the stream.
Get a List of All Microphones
You can initiate a stream using either the browser's default audio device or by specifying the ID of the audio device connected to the device running the client application, which requires you to get the Device IDs of all the connected devices.
The EnxRoom.getDevices()
method provides a list of all the microphones connected to your device. You can also use this method to build UI element allowing users to choose an audio device from the list.
Class: EnxRoom
Method: public List <String> getDevices()
Returns: List of devices
Sample Code
List deviceList = enxRoom.getDevices();// Returns [SPEAKER_PHONE, WIRED_HEADSET, EARPIECE, BLUETOOTH, NONE ]
Get the Selected Audio Device by User
The EnxRoom.getSelectedDevice()
method provides the selected/in-use audio device for the stream.
Class: EnxRoom
Method: public String getSelectedDevice()
Sample Code
String selectedDevice = room.getSelectedDevice();
Handle Audio Device Updates
In the event of addition or modification in the audio devices, such as earphones or headphones connected to the mobile device, the change is notified through the following callbacks:
Callback Name | Description |
---|---|
onNotifyDeviceUpdate | Acknowledgment to the user when a switch to alternate media devices is made at runtime. |
onDeviceAdded | Notification to the user when a new audio device is connected. |
onDeviceRemoved | Notification to the user when an audio device is disconnected. |
Sample Code
public void onDeviceAdded(String message) {// New Device added}public void onDeviceRemoved(String message) {// Device removed}public void onNotifyDeviceUpdate (String message) {// Device switched}