streamingRecognize method

Stream<StreamingRecognizeResponse> streamingRecognize(
  1. StreamingRecognitionConfig config,
  2. Stream<List<int>> audioStream
)

Sends a StreamingRecognizeRequest to the Google Speech Api. Requires a StreamingRecognitionConfig and an audioStream.

Implementation

Stream<StreamingRecognizeResponse> streamingRecognize(
    StreamingRecognitionConfig config, Stream<List<int>> audioStream) {
  final client = SpeechClient(_channel, options: _options);

  // Create the stream, which later transmits the necessary
  // data to the Google Api.
  final request = StreamController<StreamingRecognizeRequest>();

  // Send the streaming config at first.
  request
      .add(StreamingRecognizeRequest()..streamingConfig = config.toConfig());

  _audioStreamSubscription = audioStream.listen((audio) {
    // Add audio content when stream changes.
    request.add(StreamingRecognizeRequest()..audioContent = audio);
  });

  _audioStreamSubscription!.onDone(() {
    // Close the request stream, if the audio stream is finished.
    request.close();
  });
  return client.streamingRecognize(request.stream);
}