是什么导致 Microsoft 认知服务语音识别器对象发送 SessionStopped 事件?
What causes Microsoft Cognitive Services Speech Recognizer objects to send SessionStopped events?
什么导致语音识别器会话结束?作为参考,这是我的代码:
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 写入器指向一个文件时,它写入成功。什么会触发识别器会话结束?
此事件不会像已取消的事件那样发送原因代码。
如果您使用的是连续模式,会话结束的唯一方式是当您到达文件末尾时(return 0 表示写入的数据量),或者调用 Stop。
如果您处于 RecognizeOnce 模式,则会话在识别出第一个短语后(当有足够的静音时)或当您到达文件末尾时结束,以先到者为准。
什么导致语音识别器会话结束?作为参考,这是我的代码:
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 写入器指向一个文件时,它写入成功。什么会触发识别器会话结束?
此事件不会像已取消的事件那样发送原因代码。
如果您使用的是连续模式,会话结束的唯一方式是当您到达文件末尾时(return 0 表示写入的数据量),或者调用 Stop。
如果您处于 RecognizeOnce 模式,则会话在识别出第一个短语后(当有足够的静音时)或当您到达文件末尾时结束,以先到者为准。