@ capgo/ 电容- speech- synthesis
高声读取您 Capacitor app 中的文本, 并使用本地的文本对发音, 并控制语言、 语音、 发音、 速率和音量 .
🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用
@capgo/capacitor-speech-synthesis在您的电容应用程序中:npx skills add Cap-go/capgo-skills。然后问你的经纪人: 添加@capgo/capor-speech-synthesis到我的Capacitor应用上并把它接上 代理设置指南 • 妇女 主机磁共振
主要特点
- 说数字 :
speak()包括语言,语音,投出,速率,音量和队列策略. - 播放控件数字 :
pause(), (中文(简体) ),resume(), (中文(简体) ),cancel()财务报告和审定财务报表isSpeaking()。暂停和恢复不支持在Android上. - 声音和语言数字 :
getVoices(), (中文(简体) ),getLanguages(), (中文(简体) ),isLanguageAvailable()财务报告和审定财务报表isVoiceAvailable()。 。 。 . - 保存到文件数字 :
synthesizeToFile()将语音写入iOS和Android上的音频文件. - 活动数字 :
start, (中文(简体) ),end, (中文(简体) ),boundary财务报告和审定财务报表error听众. - 平台:iOS,Android和Web. iOS使用AVSpeech合成器,Android使用TextToSpeech. Web 使用 Web 语音 API.
为什么是演讲综述?
提供免费、开源的选项,提供完整的文字对语音能力:
- 跨平台 - 在iOS、Android和Web上使用一致的API
- 完全语音控制 - 从系统声音中选择,调整投出率、速率和音量
- 事件驱动 - 听语音事件(开始、结束、字段、错误)
- 文件导出 - 将语音保存到iOS和Android上的音频文件
- 现代 APIs - 使用AVSpeech合成器(iOS)、TextToSpeech(Android)和Web Speech API
- 生产准备 - 有综合文档的完整类型脚本支持
适合无障碍功能,语言学习应用,音频书播放器,以及任何需要文本到语音的应用.
兼容性
| 插件版本 | 电容兼容性 | 维护 |
|---|---|---|
| 联合国 | 联合国 | ✅ |
| 页:1 | 页:1 | 应要求 |
| 页:1 | 页:1 | ❌ |
| 页:1 | 页:1 | ❌ |
说明: 此插件的主要版本沿用了Capacitor的主要版本. 使用匹配您的 Capacitor 安装的版本( 如 Capacitor 8 的插件 v8) 。 只有最新的主要版本得到积极维护.
安装
您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
然后使用下列提示:
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-speech-synthesis` plugin in my project.
如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:
npm install @capgo/capacitor-speech-synthesis
npx cap sync
API 密码
speak(...)synthesizeToFile(...)cancel()pause()resume()isSpeaking()isAvailable()getVoices()getLanguages()isLanguageAvailable(...)isVoiceAvailable(...)initialize()activateAudioSession(...)deactivateAudioSession()getPluginVersion()addListener('start', ...)addListener('end', ...)addListener('boundary', ...)addListener('error', ...)removeAllListeners()- 接口
从文本中合成语音的语音合成插件 .
说话(...)
speak(options: SpeakOptions) => Promise<SpeakResult>
以指定选项表达给定文本. 语音被添加到语音队列中.
| 参数 | 类型 | 说明 |
|---|---|---|
options | SpeakOptions | - 语音选项,包括文本和语音设置 |
回返情况: Promise<SpeakResult>
自: 1.0.0 (单位:千美元)
合成 ToFile (...)
synthesizeToFile(options: SpeakOptions) => Promise<SynthesizeToFileResult>
将语音合成到音频文件(只有Android/iOS). 返回保存音频的文件路径.
| 参数 | 类型 | 说明 |
|---|---|---|
options | SpeakOptions | - 语音选项,包括文本和语音设置 |
回返情况: Promise<SynthesizeToFileResult>
自: 1.0.0 (单位:千美元)
取消( )
cancel() => Promise<void>
取消所有已排队的语音并停止当前语音.
自: 1.0.0 (单位:千美元)
暂停( c)
pause() => Promise<void>
立即暂停演讲.
自: 1.0.0 (单位:千美元)
恢复( )
resume() => Promise<void>
复次暂停演说.
自: 1.0.0 (单位:千美元)
正在发言( S)
isSpeaking() => Promise<{ isSpeaking: boolean; }>
检查语音合成是否正在说话 .
回返情况: Promise<{ isSpeaking: boolean; }>
自: 1.0.0 (单位:千美元)
易读 ()
isAvailable() => Promise<{ isAvailable: boolean; }>
检查设备上是否有语音合成可用 .
回返情况: Promise<{ isAvailable: boolean; }>
自: 1.0.0 (单位:千美元)
获取声音( )
getVoices() => Promise<{ voices: VoiceInfo[]; }>
获取所有可用的声音 .
回返情况: Promise<{ voices: VoiceInfo[]; }>
自: 1.0.0 (单位:千美元)
获取语言( C)
getLanguages() => Promise<{ languages: string[]; }>
获取所有可用的语言.
回返情况: Promise<{ languages: string[]; }>
自: 1.0.0 (单位:千美元)
可用语言(...)
isLanguageAvailable(options: IsLanguageAvailableOptions) => Promise<{ isAvailable: boolean; }>
检查是否有特定语言可用.
| 参数 | 类型 | 说明 |
|---|---|---|
options | IsLanguageAvailableOptions | - 要检查的语言 |
回返情况: Promise<{ isAvailable: boolean; }>
自: 1.0.0 (单位:千美元)
可声波(...)
isVoiceAvailable(options: IsVoiceAvailableOptions) => Promise<{ isAvailable: boolean; }>
检查是否有特定的声音可用 .
| 参数 | 类型 | 说明 |
|---|---|---|
options | IsVoiceAvailableOptions | - 声音ID来检查 |
回返情况: Promise<{ isAvailable: boolean; }>
自: 1.0.0 (单位:千美元)
初始化()
initialize() => Promise<void>
初始化语音合成引擎(iOS优化). 这可以减少第一个演讲请求的延迟.
自: 1.0.0 (单位:千美元)
激活音频会话(...)
activateAudioSession(options: ActivateAudioSessionOptions) => Promise<void>
用特定类别(仅iOS)激活音频会话.
| 参数 | 类型 | 说明 |
|---|---|---|
options | ActivateAudioSessionOptions | - 音频会话类别 |
自: 1.0.0 (单位:千美元)
解除会议( )
deactivateAudioSession() => Promise<void>
取消音频会话(只有iOS).
自: 1.0.0 (单位:千美元)
获取 PluginVersion ()
getPluginVersion() => Promise<{ version: string; }>
获取本地插件版本.
回返情况: Promise<{ version: string; }>
自: 1.0.0 (单位:千美元)
添加倾听器( “ start” ,...)
addListener(eventName: 'start', listenerFunc: (event: UtteranceEvent) => void) => Promise<PluginListenerHandle>
听到一个词开始说话.
| 参数 | 类型 | 说明 |
|---|---|---|
eventName | 'start' | - 事件名称( “ 启动 ”) |
listenerFunc | (event: UtteranceEvent) => void | - 回调功能 |
回返情况: Promise<PluginListenerHandle>
自: 1.0.0 (单位:千美元)
添加倾听器( “ end' ,...)
addListener(eventName: 'end', listenerFunc: (event: UtteranceEvent) => void) => Promise<PluginListenerHandle>
听当一个演讲结束的时候.
| 参数 | 类型 | 说明 |
|---|---|---|
eventName | 'end' | - 事件名称('end') |
listenerFunc | (event: UtteranceEvent) => void | - 回调功能 |
回返情况: Promise<PluginListenerHandle>
自: 1.0.0 (单位:千美元)
添加倾听器( “ 边界 ” ,...)
addListener(eventName: 'boundary', listenerFunc: (event: BoundaryEvent) => void) => Promise<PluginListenerHandle>
说话时听字边框.
| 参数 | 类型 | 说明 |
|---|---|---|
eventName | 'boundary' | - 事件名称 ('边界') |
listenerFunc | (event: BoundaryEvent) => void | - 回调功能 |
回返情况: Promise<PluginListenerHandle>
自: 1.0.0 (单位:千美元)
添加倾听器( 'error',...)
addListener(eventName: 'error', listenerFunc: (event: ErrorEvent) => void) => Promise<PluginListenerHandle>
听取合成错误.
| 参数 | 类型 | 说明 |
|---|---|---|
eventName | 'error' | - 事件名称 ('error') |
listenerFunc | (event: ErrorEvent) => void | - 回调功能 |
回返情况: Promise<PluginListenerHandle>
自: 1.0.0 (单位:千美元)
删除所有收听器( )
removeAllListeners() => Promise<void>
删除所有事件听众.
自: 1.0.0 (单位:千美元)
接口
说回声
由发言文本产生.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
utteranceId | string | 此语句的独有标识符 . | 1.0.0 (单位:千美元) |
说选项
发言文本的选项 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
text | string | 语出之文. | 1.0.0 (单位:千美元) |
language | string | BCP-47语言标记(例如"en-US","es-ES"). | 1.0.0 (单位:千美元) |
voiceId | string | 要使用的语音标识符 . | 1.0.0 (单位:千美元) |
pitch | number | 发声(0.5比2.0,默认:1.0). | 1.0.0 (单位:千美元) |
rate | number | 发声率(0.1比10.0,默认:1.0. | 1.0.0 (单位:千美元) |
volume | number | 音量(0.0至1.0,默认:1.0). | 1.0.0 (单位:千美元) |
queueStrategy | 'Add' | 'Flush' | 队列策略 : “ 添加 ” 以附加或“ Flush ” 来替换队列 。 默认: “ 添加 ” | 1.0.0 (单位:千美元) |
合成到文件结果
合成到文件的结果 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
filePath | string | 音频保存的文件路径 . | 1.0.0 (单位:千美元) |
utteranceId | string | 此语句的独有标识符 . | 1.0.0 (单位:千美元) |
语音信息
关于一个声音的信息.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
id | string | 独特的语音标识符. | 1.0.0 (单位:千美元) |
name | string | 显示语音名称 . | 1.0.0 (单位:千美元) |
language | string | BCP-47语言代码. | 1.0.0 (单位:千美元) |
gender | 'male' | 'female' | 'neutral' | 语音的性别(仅iOS). | 1.0.0 (单位:千美元) |
isNetworkConnectionRequired | boolean | 此语音是否需要网络连接 . | 1.0.0 (单位:千美元) |
default | boolean | 是否这是默认的声音( 只有Web) . | 1.0.0 (单位:千美元) |
IsLangage 可用选项
检查语言可用性选项 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
language | string | BCP-47语言代码需要检查. | 1.0.0 (单位:千美元) |
可选择选项
用于检查语音可用的选项 .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
voiceId | string | 声音ID检查. | 1.0.0 (单位:千美元) |
启动会议
启动音频会话的选项( 只有iOS) .
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
category | 'Ambient' | 'Playback' | 音频会话分类 。 - 'Ambient':与其他音频相混合 - 'Playback': 停止其它音频 | 1.0.0 (单位:千美元) |
插件听筒
| Prop | 类型 |
|---|---|
remove | () => Promise<void> |
绝食晚会
语音开始或结束时发生事件.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
utteranceId | string | 语音识别符. | 1.0.0 (单位:千美元) |
边界事件
事件以字形边界发射.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
utteranceId | string | 语音识别符. | 1.0.0 (单位:千美元) |
charIndex | number | 文中人物索引. | 1.0.0 (单位:千美元) |
charLength | number | 当前单词的字符长度 . | 1.0.0 (单位:千美元) |
错误事件
合成错误事件.
| Prop | 类型 | 说明 | 自兹 |
|---|---|---|---|
utteranceId | string | 语音识别符. | 1.0.0 (单位:千美元) |
error | string | 错误信息 . | 1.0.0 (单位:千美元) |