pollingLongRunningRecognize method

Future<LongRunningRequestResult> pollingLongRunningRecognize(
  1. RecognitionConfigV2 config,
  2. String audioGcsUri, {
  3. Duration pollInterval = const Duration(seconds: 1),
  4. String location = 'global',
})

Sends a LongRunningRecognizeRequest request to the Google Speech Api. Requires a RecognitionConfigV2 and an RecognitionAudio.

To use asynchronous speech recognition to transcribe audio longer than 60 seconds, you must have your data saved in a Google Cloud Storage bucket.

Polls the Operation and returns a LongRunningRequestResult as soon as the Operation is finished.

Implementation

Future<LongRunningRequestResult> pollingLongRunningRecognize(
    RecognitionConfigV2 config, String audioGcsUri,
    {Duration pollInterval = const Duration(seconds: 1), String location = 'global'}) async {
  final client = SpeechClient(_channel, options: _options);

  // transform audio to RecognitionAudio
  final recognitionAudio = BatchRecognizeFileMetadata()..uri = audioGcsUri;

  // Create the request, which transmits the necessary
  // data to the Google Api.
  final request = BatchRecognizeRequest(
    recognizer: 'projects/$projectId/locations/$location/recognizers/_',
    files: [recognitionAudio],
    config: config.toConfig(),
    recognitionOutputConfig:
        RecognitionOutputConfig(inlineResponseConfig: InlineOutputConfig()),
  );

  final operation = await client.batchRecognize(request);
  return _pollOperation(operation, pollInterval);
}