Java实现语音朗读电子书
最近无聊,看小说,又懒得自己看,手机听书有懒得下载。。就写了代码实现了一下。要实现这个功能,需要jacob-1.17这个架包,配置好dll文件路径。
public class ReaderImpl implements ReaderI {
/*** @author 湖居散人
*/
public static String path="E:\盜墓筆記1-8全集.txt";
static String line;
@Override
public void readIn() throws IOException{
Domain domain = new Domain();
ReaderImpl readerImpl = new ReaderImpl();
FileInputStream fis = new FileInputStream(path);
InputStreamReader isr = new InputStreamReader(fis,"GBK");
BufferedReader br = new BufferedReader(isr);
line =domain.line;
//返回有效字符
while((line=br.readLine())!=null){ActiveXComponent sap = new ActiveXComponent("Sapi.SpVoice");
Dispatch sapo = sap.getObject();
try {
// 音量 0-100
sap.setProperty("Volume", new Variant(100));
// 语音朗读速度 -10 到 +10
sap.setProperty("Rate", new Variant(0));
System.out.println(line);
// 执行朗读
Dispatch.call(sapo, "Speak", new Variant(line));
} catch (Exception e) {
e.printStackTrace();
} finally {
sapo.safeRelease();
sap.safeRelease();
}
}
br.close();
}
public static void main(String[] args) {
ReaderImpl readerImpl = new ReaderImpl();
try {
readerImpl.readIn();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
