# @minto-ai/microsoft-lat

`@minto-ai/microsoft-lat` 是一款基于微软识别技术的实时语音转文本库，需要创建[Azure账户](https://azure.microsoft.com/free/cognitive-services)申请密钥和区域,测试账号的key和region为：

```javascript
// 注意不要直接在前端代码中使用，容易泄露
const key = 'YOUR_AZURE_SUBSCRIPTION_KEY'
const region = 'YOUR_AZURE_REGION'

```

## 使用方法

### 示例

```javascript
import microsoftLat from '@minto-ai/microsoft-lat'
// 1.创建实例
const speechRecognizer = new RealtimeSpeechRecognizer({
  key,
  region,
})
// 2.识别结果
speechRecognizer.on('recognized', (result) => {})
// 3.开始识别
speechRecognizer.start()
// 4.停止识别
speechRecognizer.stop()
```

## params

| 参数名             | 说明               | 类型                 | 默认值  |
| ------------------ | ------------------ | -------------------- | ------- |
| key                | 密钥               | `string`             | `-`     |
| region             | 区域:参考Azure文档 | `enum`               | `-`     |
| language           | 源语言             | `string`             | `zh-CN` |
| autoControl        | 是否手动控制停止   | `boolean`            | `false` |
| sectionDelayParams | 自动停止参数       | `sectionDelayParams` | `-`     |

### sectionDelayParams

| 属性名          | 说明           | 类型     | 默认值 |
| --------------- | -------------- | -------- | ------ |
| initialDelay    | 第一次延迟时间 | `number` | `3500` |
| subsequentDelay | 延迟时间       | `number` | `3000` |

## methods

| 方法名     | 说明                                 | 参数                                              | 返回值   |
| ---------- | ------------------------------------ | ------------------------------------------------- | -------- |
| stop       | 停止                                 | -                                                 | -        |
| start      | 开始                                 | -                                                 | -        |
| destroy    | 销毁实例(实例在页面销毁时会自动销毁) | -                                                 | -        |
| getResults | 获取字符集                           | -                                                 | `string` |
| on         | 监听固定事件                         | `(eventName: EventCallbacks, callback: Function)` | -        |
| off        | 移除监听事件                         | `(eventName: EventCallbacks)`                     | -        |

## EventCallbacks

| eventName      | 描述           | 回调参数         |
| -------------- | -------------- | ---------------- |
| recognizing    | 一句话实时识别 | `(text: string)` |
| recognized     | 一句话识别完成 | `(text: string)` |
| sessionStarted | 录音开始       | -                |
| sessionStopped | 录音识别结束   | -                |
| error          | 错误           | `(error: Error)` |
