# speechutils **Repository Path**: chinasoft2_ohos/speechutils ## Basic Information - **Project Name**: speechutils - **Description**: 语音转文字,文字转语音库 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 6 - **Created**: 2021-05-17 - **Last Updated**: 2025-04-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # speechutils ## 项目介绍 - 项目名称:语音转换库 - 所属系列:openharmony的第三方组件适配移植 - 功能:可以通过在AbilitySlice中继承AsrBaseAbilitySlice来继承语音转文字功能,继承 TtsBaseAbilitySlice 来实现文字转语音功能 方便:只需继承BaseAbilitySlice便可拥有转换功能 灵活: 封装了多个控制方法直接使用即可 - 项目移植状态:主功能完成 - 调用差异:使用openharmony api 与源项目调用方式不一样 - 开发版本:sdk6,DevEco Studio2.2 Beta1 - 基线版本:Release v2.0.4 ## 演示效果 ## 安装教程 1.在项目根目录下的build.gradle文件中, ``` allprojects { repositories { maven { url 'https://s01.oss.sonatype.org/content/repositories/releases/' } } } ``` 2.在entry模块的build.gradle文件中, ``` dependencies { implementation('com.gitee.chinasoft_ohos:speechutils:1.0.0') ...... } ``` 在sdk5,DevEco Studio 2.1 Release下项目可直接运行 如无法运行,删除项目.gradle,.idea,build,gradle,build.gradle文件, 并依据自己的版本创建新项目,将新项目的对应文件复制到根目录下 ## 使用说明 1.语音转文字功能 在功能AbilityASlice继承AsrBaseAbilitySlice,实现 showAsrResult(String info)方法 开始录音转换,直接使用startRecoding()方法,开始转换 ,转换成功后会回调到 showAsrResult(String info)方法中 停止转换 需调用 stopRecoding()方法停止(注意在不适用的时候必须调用,否则会造成语音转文字失败) ```java recorderView.setTouchEventListener((component, touchEvent) -> { switch (touchEvent.getAction()) { case TouchEvent.PRIMARY_POINT_DOWN: HiLog.info(LABEL_LOG, "按钮按下"); startRecoding(); break; case TouchEvent.PRIMARY_POINT_UP: HiLog.info(LABEL_LOG, "按钮松开"); stopRecoding(); break; default: break; } return false; }); ``` 2. 文字转语音功能 在功能AbilityASlice 继承TtsBaseAbilitySlice,实现showInfo(String info)方法 开始文字转语音,直接调用startTts("需要转换为语音的文字")方法,转换成功后会回调到 showInfo(String info)方法中 停止转换 需调用 stopSpeaking 方法 停止(注意在不适用的时候必须调用,否则会造成文字转语音失败) ```java startPlay.setClickedListener(new Component.ClickedListener() { @Override public void onClick(Component component) { startTts(textPhonetic.getText()); } }); stopPlay.setClickedListener(new Component.ClickedListener() { @Override public void onClick(Component component) { stopSpeaking(); } }); ``` ## 测试信息 CodeCheck代码测试无异常 CloudTest代码测试无异常 病毒安全检测通过 ## 版本迭代 1.0.0 ## 版本和许可信息 ``` Apache License ```