startPreview method

  1. @override
Future<void> startPreview({
  1. required String imgset,
  2. required String streamKey,
  3. CameraType cameraType = CameraType.BACK,
  4. void onData(
    1. dynamic
    )?,
  5. void onError(
    1. dynamic
    )?,
})
override

Implementation

@override
Future<void> startPreview({
  required String imgset,
  required String streamKey,
  CameraType cameraType = CameraType.BACK,
  void Function(dynamic)? onData,
  void Function(dynamic)? onError,
}) async {
  try {
    final permissionStatus = await requestPermissions();
    if (!permissionStatus) {
      throw Exception(
        "Please Grant Camera and Microphone Permsission [Start Preview]",
      );
    }
    if (imgset.isEmpty || streamKey.isEmpty) {
      throw Exception('imgset or streamKey is empty [Start Preview]');
    }
    await methodChannel.invokeMethod<void>('startPreview', <String, dynamic>{
      'imgset': imgset,
      'streamKey': streamKey,
      'cameraType': cameraType.index.toString(),
    });
    eventStream?.cancel();
    eventStream = eventChannel
        .receiveBroadcastStream()
        .listen(onData, onError: onError);
  } catch (e) {
    throw Exception("$e [Start Preview]");
  }
}