Skip to content

语音输入按钮

@astryxdesign/core v0.7.1 · ChatDictationButton

Click the microphone to start dictating. Speech is transcribed into the input.

使用方法 ​

ChatDictationButton 是对话输入区里那种「按一下开始说、再按一下停」的按钮。它跟 useChatDictation 配对使用:没在听的时候显示话筒图标,正在听的时候显示跳动的音量条。放在 ChatComposer 的 sendActions 插槽里。

ts
import { ChatDictationButton } from '@astryx-vue/core/Chat'

解剖

部分说明
话筒图标空闲状态下显示。点它就开始语音输入。
音量条正在听的时候顶替图标的跳动竖条,跟着真实麦克风音量动。
幽灵按钮底下的 Button,variant 为 ghost、isIconOnly,负责点击区域和聚焦环。

建议 ​

指引实践
推荐把语音按钮放进 ChatComposer 的 sendActions 插槽,它就挨着发送按钮,正是用户找语音入口的位置。
推荐把输入框的句柄传给 useChatDictation,用户说话时半截的话会以灰字出现在输入框里。
推荐给 useChatDictation 打开 hasSounds,开始和结束录音时给一声提示音。按钮变化本来就很细微,有声音更好判断。
避免把语音按钮拿到对话输入区外面单独用。它是为输入区发送按钮旁边那个位置设计的,不是通用的录音控件。
避免忘了处理浏览器不支持的情况。浏览器没有 SpeechRecognition 时按钮会自己藏起来,但你的输入区本身也得在不支持时能用。

示例 ​

常见的用法、变化和状态。

ChatDictationButton — 基础

接上 useChatDictation、放在 ChatComposer 的 sendActions 插槽里的语音按钮。点话筒,说的话就转成文字进输入框。