updateDeviceList static method

dynamic updateDeviceList(
  1. List<MediaDeviceInfo> devices
)

Implementation

static updateDeviceList(List<MediaDeviceInfo> devices) {
  // Clear Devices
  mediaDevices[MediaDeviceType.audioInput] = <MediaDeviceInfo>[];
  mediaDevices[MediaDeviceType.audioOutput] = <MediaDeviceInfo>[];
  mediaDevices[MediaDeviceType.videoInput] = <MediaDeviceInfo>[];

  log("Device List: ${devices.length} ${devices.map((e) => e.kind).join(" ")}");

  // Iterate MediaDevice
  for (MediaDeviceInfo device in devices) {
    // Conditional Checking
    switch (device.kind) {
      case 'audioinput':
        mediaDevices[MediaDeviceType.audioInput]!.add(device);
        break;
      case 'audiooutput':
        mediaDevices[MediaDeviceType.audioOutput]!.add(device);
        break;
      case 'videoinput':
        mediaDevices[MediaDeviceType.videoInput]!.add(device);
        break;
      default:
        break;
    }
  }
}