recordingStart method

Future<void> recordingStart()

Implementation

Future<void> recordingStart() async {
  Completer completer = Completer();
  try {
    if (_session == '') {
      completer
          .completeError({'error': 'Invalid session, session $_session'});
      return;
    }
    if (_state != CallState.activeState ||
        _state != CallState.publishState ||
        _state != CallState.subscribeState ||
        _state != CallState.connectState) {
      completer.completeError(
          {'error': 'The state that cannot start recording, state $_state'});
      return;
    }
    if (_recordingFlag == true) {
      completer.completeError({'error': 'Invalid request, Already started recording'});
      return;
    }
    await _ws.requestRecording('audio', 'start'); // TODO: enum or const
    _recordingFlag = true;
    completer.complete();
    return completer.future;
  } catch (error) {
    completer.completeError(error);
  }
}