bricks/docs/ai/streaming_audio.md
2025-11-18 16:10:44 +08:00

1.6 KiB
Raw Blame History

StreamAudio

控件功能实现音频流的实时采集、语音活动检测VAD触发、音频上传以及接收服务器返回的识别文本结果常用于语音识别场景。
类型:容器控件
父类控件bricks.VBox

初始化参数

  • opts {Object} - 配置选项对象,继承自 VBox 并扩展以下属性:
    • name {string} 可选 - 控件名称,默认为 'asr_text'
    • height {string} - 固定高度为 '100%',不可覆盖。
    • 其他 VBox 支持的通用参数(如 layout 等)。

注意:构造函数中会自动设置 height='100%' 和默认 name,并创建内部子控件(按钮、填充器、文本显示等)。

主要事件

无直接对外暴露的自定义事件,但通过绑定和回调机制处理以下行为:

  • 按钮点击事件click 事件绑定在内部 this.button 上,触发 toggle_status() 方法,用于开始或停止音频流采集。
  • 语音结束事件:由 vad.MicVADonSpeechEnd(audio) 回调触发,调用 handle_audio(audio) 将音频数据编码并发送。
  • 数据接收事件:在 receive_data() 中通过 reader.readline() 持续读取服务端响应流,每收到一条 JSON 数据即更新显示文本。

ASRText

控件功能:与 StreamAudio 完全相同,是其别名控件,用于更语义化地表示语音识别文本输出组件。
类型:容器控件
父类控件bricks.VBox实际继承关系同 StreamAudio

初始化参数

StreamAudio

主要事件

StreamAudio