一、jdk 内置的文字识别播报
jdk内置的可以使用,不过呢就是声音太原始了,这是同过输入文字然后识别读出来的。
/**【语音播报方法】
* Java内置的语音播报方法
* **/
public static boolean speakingText(String readText){
boolean isFinish = true;
ActiveXComponent sap = new ActiveXComponent("Sapi.SpVoice");
try {
sap.setProperty("Volume",new Variant(100)); // 音量 0-100
sap.setProperty("Rate",new Variant(+2)); // 语音朗读速度 -10 到 +10
Dispatch sapo = sap.getObject(); // 获取执行对象
Dispatch.call(sapo,"Speak",new Variant(readText)); // 执行朗读
sapo.safeRelease(); // 关闭执行对象
}catch (Exception e){
isFinish = false;
e.printStackTrace();
}finally {
sap.safeRelease(); // 关闭执行对象
}
return isFinish;
}
二、第三方的音频播报(JL)
1、导入JL的依赖
<!-- 播放音频的依赖 -->
<!-- https://mvnrepository.com/artifact/org.clojars.automata/jl -->
<dependency>
<groupId>org.clojars.automata</groupId>
<artifactId>jl</artifactId>
<version>1.0.0</version>
</dependency>
2、代码实现
这个是通过文件播报的,可以在网上下载自己需要的音频文章来源:https://www.toymoban.com/news/detail-786495.html
// 调用本地音频
public static void play() throws FileNotFoundException, JavaLayerException {
// 指定路径,读取本地的音频
File file = new File("D:\\学期项目\\外卖提示音\\新的订单查收.mp3");
// 读取音频的数据流
FileInputStream fis = new FileInputStream(file);
BufferedInputStream stream = new BufferedInputStream(fis);
// 把数据流传递给 player 对象
Player player = new Player(stream);
player.play();
}
最近在做项目,做外卖的,其中有一个功能就是接单,商家接单就需要用到这个功能。文章来源地址https://www.toymoban.com/news/detail-786495.html
到了这里,关于Java 音频播报(内置 + 第三方)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!