startAudioRecognition static method

Stream<Map> startAudioRecognition({
  1. required int sampleRate,
  2. required int bufferSize,
  3. int audioLength = 0,
  4. double detectionThreshold = 0.3,
  5. int numOfInferences = 1,
  6. int averageWindowDuration = 0,
  7. int minimumTimeBetweenSamples = 0,
  8. int suppressionTime = 0,
  9. String method = 'setAudioRecognitionStream',
})

startAudioRecognition returns map objects with the following values: String recognitionResult, int inferenceTime, bool hasPermission Do not change the parameter 'method'

Implementation

static Stream<Map<dynamic, dynamic>> startAudioRecognition(
    {required int sampleRate,
    required int bufferSize,
    int audioLength = 0,
    double detectionThreshold = 0.3,
    int numOfInferences = 1,
    int averageWindowDuration = 0,
    int minimumTimeBetweenSamples = 0,
    int suppressionTime = 0,
    String method = 'setAudioRecognitionStream'}) {
  final audioRecognitionStream =
      audioRecongitionChannel.receiveBroadcastStream(<String, dynamic>{
    'sampleRate': sampleRate,
    'bufferSize': bufferSize,
    'audioLength': audioLength,
    'numOfInferences': numOfInferences,
    'averageWindowDuration': averageWindowDuration,
    'detectionThreshold': detectionThreshold,
    'minimumTimeBetweenSamples': minimumTimeBetweenSamples,
    'suppressionTime': suppressionTime,
    'method': method
  });

  ///cast the result of the stream a map object.
  return audioRecognitionStream
      .cast<Map<dynamic, dynamic>>()
      .map((event) => Map<dynamic, dynamic>.from(event));
}