Что заставляет объекты Microsoft Cognitive Services Speech Recognizer отправлять события SessionStopped? - PullRequest
0 голосов
/ 26 февраля 2020

Что приводит к завершению сеанса распознавателя речи? Для справки вот мой код:

        Stream sos = new MemoryStream();
        byte channels = 1;
        byte bitsPerSample = 16;
        uint samplesPerSecond = 16000;
        var audioFormat = AudioStreamFormat.GetWaveFormatPCM(samplesPerSecond, bitsPerSample, channels);
        AudioInputStream audioInputStream = AudioInputStream.CreatePullStream(new BinaryAudioStreamReader(sos), audioFormat);
        var t = Task.Run(() => SpeechRecognitionSamples.RecognitionWithBufferStreamAsync(audioInputStream));

Журнал печатает это:

Событие запущено сессией.

Чтение: размер: 3200

Чтение : databuffer.Length: 3200

Поток 0x19850 завершился с кодом 0 (0x0).

Событие остановки сеанса.

Когда я указываю записывающему устройству DataAvailable на файл, пишет успешно. Что вызывает запуск сеанса распознавателя?

Это событие не отправляет код причины, такой как событие Отменено.

1 Ответ

2 голосов
/ 28 февраля 2020

Если вы используете непрерывный режим, сеанс заканчивается только тогда, когда вы достигаете конца файла (верните 0 для объема записанных данных) или вызываете Stop.

Если вы находитесь в В режиме RecognizeOnce сеанс заканчивается после распознавания первой фразы (когда достаточно тишины) или когда вы нажимаете на конец файла, в зависимости от того, что наступит раньше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...