Bom primeiramente vamos aos requisitos:
- Saber ou pelo menos ter alguma noção de Java e Orientação a objetos;
- Você tem que ser
- Você tem que ter o windows 7 de preferência, tive alguns problemas em windows 8;
- Caixas de som ou qualquer dispositivo de saída de áudio;
- Para a utilização do Java Speech você precisará de uma dll, dependendo do seu sistema, se ele é de 32 bits ou de 64 bits; e também precisara de um .jar no seu projeto para executar o áudio.
Tanto a dll quanto o jar estão aq:
http://www.4shared.com/rar/IkaTzl89/Javaspeech.html?
basta baixar, e colocar o jar no seu projeto, e copiar as dlls para a system 32, caso tenha duvida se seu sistema é 32 ou 64 bits copie as duas dlls para lá, caso saiba qual o seu sistema copie a correspondente.
Vamos para a parte legal, o código \o/
- Primeiro devemos criar uma classe chamada Sintetizador:
- import javax.speech.AudioException;
- import javax.speech.Central;
- import javax.speech.EngineException;
- import javax.speech.EngineStateError;
- import javax.speech.synthesis.Synthesizer;
- public class Sintetizador {
- private Synthesizer synthesizer;
- public Sintetizador() {
- try {
- synthesizer = Central.createSynthesizer(null);
- synthesizer.allocate();
- synthesizer.resume();
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- }catch(EngineException e){
- e.printStackTrace();
- } catch (AudioException e) {
- e.printStackTrace();
- } catch (EngineStateError e) {
- e.printStackTrace();
- }
- }
- public void sayIt(String phrase) {
- try {
- synthesizer.speakPlainText(phrase, null);
- synthesizer.waitEngineState(Synthesizer.QUEUE_EMPTY);
- } catch (IllegalArgumentException e) {
- e.printStackTrace();
- }catch(InterruptedException e){
- e.printStackTrace();
- }
- }
- Depois criamos uma classe chamada SynThread:
- public class SynThread implements Runnable{
- private String word;
- private final Sintetizador syn;
- public SynThread(){
- syn = new Sintetizador();
- }
- public void sayIt(){
- syn.sayIt(word);
- }
- public String getWord() {
- return word;
- }
- public void setWord(String word) {
- this.word = word;
- }
- @Override
- public void run() {
- sayIt();
- }
- }// após criar essas classes, basta instanciar e "chamar" o método sayIt para executar o áudio de seu programa.
Espero ter Ajudado.
Nenhum comentário:
Postar um comentário