When valueField/textField are not explicitly set in opts, the auto-select logic (line 1140) and nullable empty-option creation (lines 1144-1145) used data[0][undefined] which returned undefined, causing: - Single-option selects to show blank (auto-select failed) - nullable empty options to have undefined keys Now extracts vf/tf local variables with ||'value'/||'text' fallback at the top of build_options(), used consistently throughout.
17 lines
968 B
Markdown
17 lines
968 B
Markdown
# VadText
|
||
|
||
控件功能:一个集成语音采集、音频播放和语音识别文本展示的复合控件,用户点击按钮开始录音,当检测到语音结束时自动将音频转为 WAV 格式并发送至后端进行语音识别,返回结果实时显示在文本区域中。
|
||
类型:容器控件
|
||
父类控件:bricks.VBox
|
||
|
||
## 初始化参数
|
||
|
||
- `opts.name` *(可选)*: 控件名称,默认为 `'asr_text'`。
|
||
- `opts.height`: 默认设置为 `'100%'`,占据父容器全部高度。
|
||
- 其他继承自 `VBox` 的通用布局参数(如 `width`, `align` 等)也可传入。
|
||
|
||
## 主要事件
|
||
|
||
- `audio_ready`: 当语音活动检测(VAD)捕获到一段完整的语音并生成音频数据时触发。携带参数为 `Float32Array` 类型的音频样本数据。
|
||
- `changed`: 当语音识别完成且有非空文本内容时,在停止录音后触发。携带当前控件的值对象 `{ [name]: text }`,可用于表单提交或状态同步。
|