getUserMedia method

Future<MediaStream> getUserMedia(
  1. Map<String, dynamic> mediaConstraints
)

Captures user media against this factory.

Implementation

Future<MediaStream> getUserMedia(
    Map<String, dynamic> mediaConstraints) async {
  _checkDisposed('getUserMedia');
  try {
    final response = await WebRTC.invokeMethod(
      'getUserMedia',
      <String, dynamic>{
        'constraints': mediaConstraints,
        'factoryId': factoryId,
      },
    );
    if (response == null) {
      throw Exception('getUserMedia returned null, something wrong');
    }
    final stream = MediaStreamNative(response['streamId'] as String, 'local');
    stream.setMediaTracks(
      response['audioTracks'] ?? <dynamic>[],
      response['videoTracks'] ?? <dynamic>[],
    );
    return stream;
  } on PlatformException catch (e) {
    throw 'Unable to getUserMedia: ${e.message}';
  }
}