[ACS Web] DeviceManager.getMicrophones / getSpeakers doesn't return all devices

David Eberlein 1 Reputation point
2022-09-30T12:13:24.443+00:00

TLDR: DeviceManager.getMicrophones / getSpeakers return devices several times but excluded the "default" devices

1. the same devices are retunred several times.
--> This is not a big issue for as as we use the devices returned by mediaDevices.enumerateDevices() for selection but it's still weird.

2. ACS omits the "default" devices exposed by Chrome & Edge
--> While you provide an isSystemDefault flag this is not sufficient for us. If the user selects a device we can't tell if the person wants to simply use the default device (switching it automatically if it changes) or of the user wants to explicitly use this one device not automatically switching if the default device changes.

What is your reasoning for this and wouldn't it make sense exposing all devices Chrome & Edge expose?

Here are some examples:

When calling deviceManager.getMicrophones I get:

   0: {_name: 'OWC Thunderbolt 3 Audio Device (1e91:4001)', _id: 'microphone:3ef0e8a5a8788849a0eda2898e76d81940106deaf1f234eff9874b203f11b093', _isSystemDefault: true, _deviceType: 'Microphone', _deviceManager: ZC}  
   1: {_name: 'MacBook Pro Microphone (Built-in)', _id: 'microphone:d889e8c7a3d7190bd48c2e2dd8fe5b3ebe46fce95fbc19d5f9228a65319b225c', _isSystemDefault: false, _deviceType: 'Microphone', _deviceManager: ZC}  
   2: {_name: 'Microsoft Teams Audio Device (Virtual)', _id: 'microphone:af36b644cc90dc6c3635f723dd9d88ad3569bc4bd07b57e0ec4100bd6c2ee5a1', _isSystemDefault: false, _deviceType: 'Microphone', _deviceManager: ZC}  
   3: {_name: 'OWC Thunderbolt 3 Audio Device (1e91:4001)', _id: 'microphone:3ef0e8a5a8788849a0eda2898e76d81940106deaf1f234eff9874b203f11b093', _isSystemDefault: true, _deviceType: 'Microphone', _deviceManager: ZC}  
   4: {_name: 'MacBook Pro Microphone (Built-in)', _id: 'microphone:d889e8c7a3d7190bd48c2e2dd8fe5b3ebe46fce95fbc19d5f9228a65319b225c', _isSystemDefault: false, _deviceType: 'Microphone', _deviceManager: ZC}  
   5: {_name: 'Microsoft Teams Audio Device (Virtual)', _id: 'microphone:af36b644cc90dc6c3635f723dd9d88ad3569bc4bd07b57e0ec4100bd6c2ee5a1', _isSystemDefault: false, _deviceType: 'Microphone', _deviceManager: ZC}  
   6: {_name: 'OWC Thunderbolt 3 Audio Device (1e91:4001)', _id: 'microphone:3ef0e8a5a8788849a0eda2898e76d81940106deaf1f234eff9874b203f11b093', _isSystemDefault: true, _deviceType: 'Microphone', _deviceManager: ZC}  
   7: {_name: 'MacBook Pro Microphone (Built-in)', _id: 'microphone:d889e8c7a3d7190bd48c2e2dd8fe5b3ebe46fce95fbc19d5f9228a65319b225c', _isSystemDefault: false, _deviceType: 'Microphone', _deviceManager: ZC}  
   8: {_name: 'Microsoft Teams Audio Device (Virtual)', _id: 'microphone:af36b644cc90dc6c3635f723dd9d88ad3569bc4bd07b57e0ec4100bd6c2ee5a1', _isSystemDefault: false, _deviceType: 'Microphone', _deviceManager: ZC}  

If I call mediaDevices.enumerateDevices() in the same tab I get:

   0: {deviceId: 'default', kind: 'audioinput', label: 'Default - OWC Thunderbolt 3 Audio Device (1e91:4001)', groupId: 'c2a255898b888f76498ebf934d0fe817909f1b4cab7c8243dfa5821f9718f626'}  
   1: {deviceId: '3ef0e8a5a8788849a0eda2898e76d81940106deaf1f234eff9874b203f11b093', kind: 'audioinput', label: 'OWC Thunderbolt 3 Audio Device (1e91:4001)', groupId: 'c2a255898b888f76498ebf934d0fe817909f1b4cab7c8243dfa5821f9718f626'}  
   2: {deviceId: 'd889e8c7a3d7190bd48c2e2dd8fe5b3ebe46fce95fbc19d5f9228a65319b225c', kind: 'audioinput', label: 'MacBook Pro Microphone (Built-in)', groupId: '4a2ff87e0ad5471c79354882e1c835104afabb4c411f852db95f54521e47aa2e'}  
   3: {deviceId: 'af36b644cc90dc6c3635f723dd9d88ad3569bc4bd07b57e0ec4100bd6c2ee5a1', kind: 'audioinput', label: 'Microsoft Teams Audio Device (Virtual)', groupId: '49d3ea59a3450590df1f1c75f99d1ae3112d2666adaf28030b931a6a171375c7'}  
   4: {deviceId: '6df95a39f4f9290db873a86ba15e4654425dd7025d3cf5bfb1da69ab3be0023b', kind: 'videoinput', label: 'FaceTime HD Camera', groupId: 'ad5405fb8bfb8d65fff8f1c3b1404bef6f3b42ba338c87c0637ba23ad7b27ba4'}  
   5: {deviceId: 'default', kind: 'audiooutput', label: 'Default - OWC Thunderbolt 3 Audio Device (1e91:4001)', groupId: 'c2a255898b888f76498ebf934d0fe817909f1b4cab7c8243dfa5821f9718f626'}  
   6: {deviceId: '7e954f1253dd8dc47a7c0eb5dc205ddcb161b48e072d7d85332c76b0589d2914', kind: 'audiooutput', label: 'DELL U2718Q (HDMI)', groupId: '7ca25ad3a859908ef24c6c819ec5b183ffa7b05bd6af0ca6450badaffae4ae45'}  
   7: {deviceId: '18658dd1372242d257e66c7646fddab2255c8ade599ac533b08f2cf7e2049890', kind: 'audiooutput', label: 'OWC Thunderbolt 3 Audio Device (1e91:4001)', groupId: 'c2a255898b888f76498ebf934d0fe817909f1b4cab7c8243dfa5821f9718f626'}  
   8: {deviceId: 'bb3db3e513e6d864800cf95a9791131d8a91141c296cc083c6982d7654c99ca1', kind: 'audiooutput', label: 'MacBook Pro Speakers (Built-in)', groupId: '4a2ff87e0ad5471c79354882e1c835104afabb4c411f852db95f54521e47aa2e'}  
   9: {deviceId: 'af36b644cc90dc6c3635f723dd9d88ad3569bc4bd07b57e0ec4100bd6c2ee5a1', kind: 'audiooutput', label: 'Microsoft Teams Audio Device (Virtual)', groupId: '49d3ea59a3450590df1f1c75f99d1ae3112d2666adaf28030b931a6a171375c7'}  
Azure Communication Services
Azure Communication Services
An Azure communication platform for deploying applications across devices and platforms.
708 questions
{count} votes

1 answer

Sort by: Most helpful
  1. SnehaAgrawal-MSFT 18,786 Reputation points
    2022-10-18T06:20:11.31+00:00

    @David Eberlein Apologies for late response and issue you are facing here! As per recent update here this is known issue and team has recognized that there's a gap and some specific behavior can't be achieved. Team will be looking closer to this in upcoming sprints but nothing definite at this point of time. Having said that, I have reached out to you privately, so that we can assist you if its blocking you from integrating ACS.

    0 comments No comments