# 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
```