基本信息
源码名称:java 朗读软件源码(无需安装)
源码大小:2.60M
文件格式:.rar
开发语言:Java
更新时间:2017-11-06
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):813200300
本次赞助数额为: 5 元×
微信扫码支付:5 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
基于smartread开发的一款文本语音软件,源码开放,已经破解SmartRead,无需安装smartread sdk,可直接在本源码的架构和接口上开发出更多功能,也可以自己作为一款方便的语音软件自己使用,使用时先安装windows的汉语语音库simpchinesespeechcn.exe。另外,jar文件不识别汉字路径,最好请把文件放在盘符下的第一层路径。
基于smartread开发的一款文本语音软件,源码开放,已经破解SmartRead,无需安装smartread sdk,可直接在本源码的架构和接口上开发出更多功能,也可以自己作为一款方便的语音软件自己使用,使用时先安装windows的汉语语音库simpchinesespeechcn.exe。另外,jar文件不识别汉字路径,最好请把文件放在盘符下的第一层路径。
import java.awt.BorderLayout; import java.awt.Button; import java.awt.Frame; import java.awt.GridLayout; import java.awt.Panel; import java.awt.TextArea; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; import javax.swing.JSlider; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; public class MainFrame extends Frame { private final TextArea strField = new TextArea("", 0, 0, TextArea.SCROLLBARS_VERTICAL_ONLY); private final JSlider rateSlider = new JSlider(0, 100, 50); private final JSlider volumeSlider = new JSlider(0, 100, 50); private final Panel bPanel; private final Panel sPanel; private final Button playButton = new Button("播放"); private final Button stopButton = new Button("暂停 / 继续"); private final Button endButton = new Button("停止"); private final smartreadjava reader = new smartreadjava(); private String string; private Thread thread; private int rate; private int volume; private class rateChange implements ChangeListener { public void stateChanged(ChangeEvent arg0) { rate = rateSlider.getValue(); reader.SmartRead_SetSpeed(rate); } } private class volumeChange implements ChangeListener { public void stateChanged(ChangeEvent e) { volume = volumeSlider.getValue(); reader.SmartRead_SetVolume(volume); } } private class playListener implements ActionListener { public void actionPerformed(ActionEvent arg0) { string = strField.getText().trim(); if (!string.equals("")) { string = ";主人;朗读完了"; thread = new Thread(new play()); thread.start(); playButton.setEnabled(false); stopButton.setEnabled(true); endButton.setEnabled(true); } } } private class play implements Runnable { public void run() { reader.SmartRead_InitialAuth(0, 0, 0, 0, "support@smartysoft.com", "88888888", "111-111-111-111"); reader.SmartRead_SetMode(0); reader .SmartRead_Speak(string, " ", 1, 0, rate, volume, 0, -1, ""); } } private class stopListener implements ActionListener { public void actionPerformed(ActionEvent arg0) { reader.SmartRead_PauseORContinue(); endButton.setEnabled(false); } } private class endListener implements ActionListener { public void actionPerformed(ActionEvent arg0) { // reader.SmartRead_Stop();与java接口有错误 playButton.setEnabled(true); reader.SmartRead_Close(); stopButton.setEnabled(false); endButton.setEnabled(false); } } public MainFrame() { setTitle("读书郎"); setSize(800, 600); setLayout(new BorderLayout()); setLocation(300, 200); this.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { System.exit(0); } }); add(strField, BorderLayout.NORTH); sPanel = new Panel(new GridLayout(2, 1)); rateSlider.addChangeListener(new rateChange()); volumeSlider.addChangeListener(new volumeChange()); rateSlider.setMajorTickSpacing(5); rateSlider.setPaintTicks(true); rateSlider.setSnapToTicks(true); volumeSlider.setMajorTickSpacing(5); volumeSlider.setPaintTicks(true); volumeSlider.setSnapToTicks(true); sPanel.add(rateSlider); sPanel.add(volumeSlider); rate = rateSlider.getValue(); volume = volumeSlider.getValue(); add(sPanel, BorderLayout.CENTER); playButton.addActionListener(new playListener()); stopButton.addActionListener(new stopListener()); endButton.addActionListener(new endListener()); bPanel = new Panel(new GridLayout(1, 3)); stopButton.setEnabled(false); endButton.setEnabled(false); bPanel.add(playButton); bPanel.add(stopButton); bPanel.add(endButton); add(bPanel, BorderLayout.SOUTH); pack(); } }