SuperAPI AI 工具集

syncfusion-javascript-speech-to-text

前端与建站

查看项目

更新于 10-16 03:00

技能介绍

概述

Syncfusion JavaScript SpeechToText 是 Syncfusion EJ2 组件库中的一个按钮式控件。点击按钮后启动语音识别,从用户麦克风采集音频,交由浏览器的语音识别服务处理,并通过事件和属性返回转录后的文本。

主要能力

  • 实时语音转录,同时提供临时结果与最终结果。
  • 可配置识别语言(en-US、fr-FR、de-DE 等)。
  • 可自定义按钮外观、图标与内容。
  • 可配置开始与停止状态的提示(工具提示)。
  • 事件驱动架构:onStart、onStop、onError、transcriptChanged,另有 created 事件在组件初始化完成时触发。
  • 可通过 startListening() 与 stopListening() 方法进行编程控制。
  • 本地化支持,覆盖 14 个以上 UI 文本键。
  • 支持 RTL(从右到左)布局。
  • 针对 8 类常见语音识别错误提供错误处理。
  • 提供语音数据隐私方面的安全注意事项。

使用方式

组件基于 @syncfusion/ej2-inputs,使用时需引入基础、按钮、弹层与输入模块的样式文件。基本用法是创建 SpeechToText 实例(可传入 transcriptChanged 等事件回调),调用 appendTo 渲染到页面元素,并常与 TextArea 配合显示转录文本(示例中 rows: 5、cols: 50、resizeMode 为 'None')。

常用属性

  • transcript(string):获取或设置转录文本,默认 ''。
  • lang(string):识别语言,默认 'en-US'。
  • allowInterimResults(boolean):是否启用实时临时结果,默认 true。
  • listeningState(SpeechToTextState):当前状态(Inactive、Listening、Stopped),默认 Inactive。
  • showTooltip(boolean):悬停时是否显示提示,默认 true。
  • disabled(boolean):是否禁用组件,默认 false。
  • enablePersistence(boolean):是否跨页面刷新保持状态,默认 false。
  • buttonSettings、tooltipSettings:按钮与提示的自定义选项。
  • cssClass(string):自定义 CSS 类名。
  • locale(string):本地化区域,默认 'en-US'。
  • enableRtl(boolean):是否启用从右到左布局,默认 false。

方法与事件

  • startListening():以编程方式启动语音识别。
  • stopListening():以编程方式终止语音识别。
  • onStart / onStop / onError / transcriptChanged / created:分别对应识别开始、停止、出错与转录更新等生命周期事件,各自提供对应的事件参数类型(如 StartListeningEventArgs、StopListeningEventArgs、ErrorEventArgs、TranscriptChangedEventArgs)。

外观与本地化

可通过 content 与 stopContent 设置开始/停止按钮内容,通过 iconCss 与 stopIconCss 设置图标并指定图标位置(上、下、左、右),使用 isPrimary 设置主按钮样式,并可使用 e-primary、e-outline、e-info、e-success、e-warning、e-danger 等 CSS 类,或通过 cssClass 自定义样式。本地化通过 L10n.load 方法配置,默认文本标识包含 14 个键(涵盖错误消息、提示与 ARIA 标签);RTL 通过 enableRtl 启用,适用于阿拉伯语、希伯来语、波斯语等。

适用场景

  • 语音表单输入:用语音代替键盘填写表单,提升可访问性与录入速度。
  • 实时转录应用:构建笔记或会议转录应用,实时将语音转为文字并支持多语言。
  • 语音指令界面:基于关键词识别来控制应用功能、导航或触发操作。
  • 无障碍增强:为不便使用键盘的行动受限用户提供语音输入方式。
  • 多语言支持:面向全球应用,允许用户以偏好语言进行语音识别。
  • 语音搜索:让用户通过说话而非打字来搜索内容。

限制与注意事项

  • 语音识别依赖在线服务,需要网络连接。
  • 存在潜在安全风险(数据传输、隐私、中间人攻击)与浏览器权限利用问题;建议在生产环境使用 HTTPS、在可信环境中部署并取得用户明确同意。
  • 语音数据可能由第三方服务(Google、Microsoft)处理,应提供隐私说明。
  • 浏览器支持:Chrome 25+、Edge 79+、Safari 12+、Opera 30+;Firefox 不支持,需为不支持的浏览器提供回退界面。
  • 建议通过 onError 事件优雅处理错误,并在触发识别前明确说明麦克风权限用途。
  • 可根据场景选择 allowInterimResults:为 true 获得实时反馈,为 false 仅在识别完成时更新结果。

相关组件

TextArea(常用于显示转录文本)、Button(提供基础按钮功能)、Tooltip(用于悬停提示)。

本条目未提供收费、价格与具体授权信息。